Thread file in use (23 answers)
Opened by mark05 at 2011-01-12 10:05

mark05
 2011-02-07 14:50
#145417 #145417
User since
2010-01-05
129 articles
BenutzerIn
[default_avatar]
hallo,

ich wollte hier das thema nochal rauskramen um die neusten erkenntnisse darzulegen ;)

das problem mit dem stat ist nicht perl sondern das darunterliegende filesystem , bzw dessen cache.

jenachdem wie schnell es aenderungen commitet an das file gibt stat auch
die werte richtig zurueck,


ich habe getestet unter OpenBSD 4.7 und unter Debian Squeeze

bei einem check interval von 1 sek
hier bei ist die option filesync zu beachten die
auf File::Sync basiert die ein sync des jeweiligen files ( unix sync )
ausfuehrt.

Code: (dl )
perl -e 'use Filewatch; my $fw=Filewatch->new({filesync=>'true',}); $fw->fw_add({file=>"/home/glaess/test",}); while (sleep 1) { my @rc = $fw->fw_check (); foreach my $r (@rc) { print "$r\n"; } }'



bei einem check interval >= 2 sekunden habe ich keine fehler mehr gehabt somit .

Code: (dl )
perl -e 'use Filewatch; my $fw=Filewatch->new(); $fw->fw_add({file=>"/home/glaess/test",}); while (sleep 1) { my @rc = $fw->fw_check (); foreach my $r (@rc) { print "$r\n"; } }'


Filewatch.pm

http://www.glaessixs.de/~glaess/csdxmldev/Filewatc...


alles test die ich gemacht habe verlaufen nun so wie ich es erwarte.

a: es wird eine neue datei erkannt
b: es wird erkannt ob eine datei geloescht wird
c: es wird erkannt ob eine datei sich veraerndet hat und sich weiter
veraendert ( wenn z.b. eine datei in ein verzeichniss kopiert wird
welches in der ueberwachung ist )

mit perldoc Filewach.pm sollte man die notwendigen infos zur nutzung
bekommen.

und ja ich nutze aktuell 1 externes modul welches aber nur optional ist
File::Sync.

ich will noch das so umbauen das Filewatch startet , wenn
das modul nicht installiert ist.


holger




View full thread file in use