[Twisted-Python] "Directory triggers" with kqueue using Twisted? (on MacOS X / FreeBSD)

Bob Ippolito bob at redivi.com
Thu Jan 13 15:51:30 EST 2005


On Jan 13, 2005, at 15:40, Wolfgang Keller wrote:

> recently I read something about the "kqueue" event notification 
> mechanism
> built into FreeBSD and that it would allow to receive notification when
> filesystem contents change. Would this mechanism allow to implement a
> similar function as database triggers for a filesystem, i.e. write a 
> script
> that does something with files that are added to, modified in or 
> deleted
> from a certain directory without having to poll the filesystem all the
> time? Folder actions allow such things on MacOS X, but Applescript is 
> slow
> and I would prefer Python anyway. ;-) If so, is there a way to write 
> such
> scripts in Python using Twisted?

Actually Folder Actions don't allow this.  I am relatively certain that 
they are implemented entirely in Finder.  They *might* be hooked into 
at the CoreServices/Carbon APIs, but DEFINITELY NOT the BSD level APIs 
(in Mac OS X 10.3 and earlier anyway).

The kernel in Mac OS X 10.3.0 supports kqueue, so you can use it for 
this sort of thing -- but Finder still polls.  I do not know what is 
necessary to integrate this with Twisted, though.  There is some 
support for kqueue in Twisted, but last I remember you need to download 
and patch some years-old extension and compile it in order to get that 
to work.

Another thing of interest to you might be FAM 
<http://oss.sgi.com/projects/fam/>.

-bob





More information about the Twisted-Python mailing list