Re: [Tracker] work items for 0.6.5



I will take Chinese New Year leave until Feb. 17. If time is allowed, 
I can do 1) and 3).

On Wed, 2008-01-30 at 13:05 -0500, Jamie McCracken wrote:
There are a few things that need doing before for 0.6.5 so if any of you
has time to spare (i have little) so feel free to volunteer:

1) add an optional auto-pause feature to tracker-applet which pauses
trackerd for a few secs whenever a keyboard or mouse event is detected
(use gdk to listen to X event queue for this just like screensavers
do). 

this feature would prevent trackerd from slowing down the computer
whenever the user is actively using the machine
Seems good feature. One question is, if user want to do something and
trackerd index at the same time, which means he does not take the
slowing down, can we offer a choice?

How about add a key to enable/disable this keyboard/mouse detection?
Default value is true.


2) Ignore maildirs - currently these are treated as text files but its
best to ignore them for now as they can overload the files db with
millions of mail msgs

maildirs always has a directory with 3 subdirs - "cur",  "new" and "tmp"
- if we detect a directory with just those subdirs then we should ignore
them and not process anything in them (in the future if we have good
email detection we can process them as emails but its too tricky to do
so atm)
What's this for, I'm not clear.


3) Constantly changing files - we should ignore these especially
bittorrent ones. Perhaps keep a small size-limited stack of recently
indexed files and if one of those files has been changed more than 10
times in a few minutes we should ignore them until trackerd next
restarts

It is like prison rule. 

Suppose these stack is like:

file_name      first_change_time     change_accounts
/a             11111                 3
/b             22222                 8
/c             33333                 1

When a file is changed, 
  if ((current_time - first_change_time) > MAX_DURATION) {
    first_change_time = current_time
  } else {
    change_accounts ++;
    if (change_accounts < MAX_CHANGE_TIMES) {
      //reflect this change
    } else {
      // ignore this change
    }
  }

Stop here if my thinking is totally wrong.

If my proto is not wrong, the question is where to have this stack?
(1) In memory
   There will have a long list for all changed files, even it is changed
only once.
   
(2) In database
   Add a property for each file in Service table. Could be slower.

Any idea?
Halton.


jamie

 


_______________________________________________
tracker-list mailing list
tracker-list gnome org
http://mail.gnome.org/mailman/listinfo/tracker-list




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]