From: "(r.*n){2}" Date: 2010-09-28T02:15:09+09:00 Subject: Re: new file arrivals into a specific directory / folder On Sep 27, 6:43 am, Dave Lilley wrote: > greetings one and all, > > My need is this. >    Get my program to be executed when ever something new arrives into a > directory. > > the data in the directory could be an email or it could be a file. most > likely plain text the transport media unknown yet (transport could be > using email or cellphone / digital RF into the PC ergo a file). > > frequency of scans for new arrivals may need to seconds or to minutes so > variability here would be great here too. > > From reading months ago I wonder if notify or inotify or even cron would > be good fit. > > Does anyone here know of a gem that could do this and if so please point > me in the direction? > > Ruby currently using is 1.8.7 not sure if I'll take what i've done to > 1.9.x yet. > as I've got to get my 1st project bedded in (this will be another > project taking what i've done a step further). > > Or reason for not using ruby for this task of monitoring the directory? > > after doing a limited search of the list I've found filewatcher and > directorywatcher just to name 2 at least. > > I know these are oldish but is there anything newer/better out there? > > I will be using the program on linux (specifically Kubuntu 10.04 but > this maybe moved to a debian dedicated server) desktop pc. > > cheers, > > dave. > -- > Posted viahttp://www.ruby-forum.com/. One implementation that may work is to use a currency file (a hidden file say .currfile). For the very first run, get all the files and at the end touch this file (if it does not exist). So it is something like this: while (forever) do save the current timestamp if .currfile exists find all files newer than .currfile in directory else find all files end touch (create/update) .currfile with the saved timestamp. sleep for some time done Depending on how precise that you want the process to be, you may have to modify this a bit. This kind of use of currency file was done by news utility in unix to show only the news items (on command line) that the user has not already seen.