Tim Pease
9/23/2008 3:53:00 PM
On Sep 22, 2008, at 4:36 PM, Siep Korteling wrote:
> Junkone wrote:
>> On Sep 20, 11:15=EF=BF=BDpm, Tim Pease <tim.pe...@gmail.com> wrote:
>>>
>>> Blessings,
>>> TwP
>>
>> i tried as you suggested and have a few q.
>> i am trying to run a ruby prog to execute if there is any new file in
>> a directory. i started out with the examples but am a little confused
>> on how to useit.
>> this prog seems to be looking at the current directory where it is
>> running and not where i had specificed it to watch with dw.glob.
>>
>> appreciate any help.
>>
>> seede
>>
> (...)
> Hm, I can't get it to work either (on WinXP).
>
> require 'directory_watcher'
> dw =3D DirectoryWatcher.new 'D:/temp/'
> dw.interval=3D5
> dw.add_observer {|*args| args.each {|event| puts event}}
> dw.start
> gets
> dw.stop
>
> It does display the files ("added 'D:/temp/Pink_Pajamas.amv'" etc), =20=
> but
> after that you can delete, add and edit files without =20
> directory_watcher
> noticing anything. Is it broken on windows or am I doing something
> wrong?
The whole program is blocking on the "gets".
On the windows platform, all threads block when reading from standard =20=
input. So the "gets" is causing all threads to wait including the =20
directory watcher thread.
Try replacing the "gets" with a "sleep 30" or some other time interval.
Blessings,
TwP=