Portál AbcLinuxu, 9. května 2025 23:11
Dobrý den,
mám script v Perlu, který komunikuje po síti s jinám zařízením, době jeho bětu je asi 10s poté se ukončí, tento script je volán externě z jiného programu (proprietárního), problém nástava v případě kdy proprietární program volá tento script více násobně a cílové zařízení na to nění upůsobené.
Napadlo mě tedy rozdělit Perl script na dvě části, jeden bude zapisovat do určeného adresaře soubory s obsahem požadavku, tento bude volán z proprietárního programu a druhý bude v cronu spoušten v minutových intervalech se dívat do tohoto adresaře načitat postupně požadavky, vyřizovat a následně mazat tyto soubory.
Mám obavy, že bude docházet k problémům v podobě kdy se pustí cron začne načítat a zpracovávat soubory v adrešaří v tu chvíli se mu tak objevý nový soubor ve kterém bude např. jen polovina požadavku, protože se druhá část nestačila ještě zapsat.
Bude k tomu docházet nebo je zapsaní nějaka atomická operace v Linuxu a dokud v perl scriptu něudělám "close" descriptoru tak to prostě na disku nebude uloženo?
Jde mi vlastně o výtvoření jednoduché fronty požadavků, možná existuje lepší řešení, se soubory mi to přišlo takové přímočaré až na tuto obavu.
Děkuji za radu. Franta
Řešení dotazu:
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.