Thread Daten mit JSON permant speichern
(5 answers)
Opened by Kuerbis at 2012-04-29 09:58 2012-04-29T16:54:57 Kuerbis flock() ist keine Hexerei. Wenn Du darauf verzichten möchtest, flock() in bisherige Scripts einzubauen, Idee: Code (perl): (dl
)
use Lock; Das Modul sieht so aus: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 # Ermöglicht ein globales Lock auf Perl-Prozesse package Lock; use strict; use warnings; use Fcntl qw(:flock); use IO::File; my $self = { file => '/home/lockfile', FH => undef, }; sub import{ my $class = shift; $self->{FH} = IO::File->new or die "Can't get a FileHandle"; $self->{FH}->open($self->{file}, O_CREAT|O_RDWR) or die "IO-Error: $!"; flock($self->{FH}, LOCK_EX) or warn 'Your system does not support flock()'; } 1; ######################################################################## Und selbstverständlich kann das Lockfile auch (namentlich) importiert werden. Ich nutze das kleine Modul so wie es oben steht, jedes Script, was das Modul einbindet, wird somit atomar, selbst wenn darin mehrere Dateien beschrieben werden oder in eine DB geschrieben werden soll. |