abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 16:22 | Nová verze

    Open source softwarový stack ROCm (Wikipedie) pro vývoj AI a HPC na GPU od AMD byl vydán ve verzi 7.0.0. Přidána byla podpora AMD Instinct MI355X a MI350X.

    Ladislav Hagara | Komentářů: 0
    dnes 15:22 | Nová verze

    Byla vydána nová verze 258 správce systému a služeb systemd (GitHub).

    Ladislav Hagara | Komentářů: 4
    dnes 15:11 | Nová verze

    Byla vydána Java 25 / JDK 25. Nových vlastností (JEP - JDK Enhancement Proposal) je 18. Jedná se o LTS verzi.

    Ladislav Hagara | Komentářů: 0
    dnes 14:44 | Humor

    Věra Pohlová před 26 lety: „Tyhle aféry každého jenom otravují. Já bych všechny ty internety a počítače zakázala“. Jde o odpověď na anketní otázku deníku Metro vydaného 17. září 1999 na téma zneužití údajů o sporožirových účtech klientů České spořitelny.

    Ladislav Hagara | Komentářů: 1
    dnes 11:33 | Zajímavý článek Ladislav Hagara | Komentářů: 0
    včera 21:44 | Nová verze

    Byl vydán Mozilla Firefox 143.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Nově se Firefox při ukončování anonymního režimu zeptá, zda chcete smazat stažené soubory. Dialog pro povolení přístupu ke kameře zobrazuje náhled. Obzvláště užitečné při přepínání mezi více kamerami. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 143 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Nová verze

    Byla vydána betaverze Fedora Linuxu 43 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 21. října.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | Nová verze

    Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.2 (𝕏, Mastodon). Přehled novinek, vylepšení a nových efektů v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 00:11 | Nová verze

    Byla vydána nová verze 4.5 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    15.9. 21:33 | Nová verze

    Byla vydána verze 3.0 (Mastodon) nástroje pro záznam a sdílení terminálových sezení asciinema (GitHub). S novou verzí formátu záznamu asciicast v3, podporou live streamingu a především kompletním přepisem z Pythonu do Rustu.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (45%)
     (73%)
     (0%)
     (9%)
     (9%)
     (9%)
     (18%)
     (0%)
     (18%)
    Celkem 11 hlasů
     Komentářů: 1, poslední dnes 13:49
    Rozcestník

    Dotaz: Soubory a dva procesy

    18.5.2011 08:32 Franta
    Soubory a dva procesy
    Přečteno: 271×

    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:


    Odpovědi

    18.5.2011 09:19 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: Soubory a dva procesy
    Zápis do súboru atomický nie je. Ale premenovanie súboru (alebo presun vrámci toho istého FS) áno. Vyrob súbor v inom adresári a až keď je celý zapísaný a close() bolo zavolané, tak ho presuň tam, kde sa pozerá cron.
    18.5.2011 09:41 Franta
    Rozbalit Rozbalit vše Re: Soubory a dva procesy
    OK, diky za radu.
    18.5.2011 14:48 l0gik | skóre: 22
    Rozbalit Rozbalit vše Re: Soubory a dva procesy
    Co takhle např. nějakou databázi. Na todle by byla ideální např. sqlite. Se souborama máš tu potíž, že jeden soubor použít nejde kvůli neatomickým operacím a s víc souborama musíš řešit, kterýs už zpracoval a který ještě ne atd... Nehledě na to, že co když nějakou dobu kvůůli něčemu nepoběží cron, požadavků bude moc a spustěj se dva cronprocesy najednou atd... Databáze Ti zadarmo vyřeší atomicitu a je na todle IMHO daleko vhodnější.
    18.5.2011 18:56 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Soubory a dva procesy
    Pokud se chcete držet jednoho souboru, můžete jej zamykat (funkce flock).
    20.5.2011 11:11 ubuntak
    Rozbalit Rozbalit vše Re: Soubory a dva procesy
    Prijde mi to zbytecne tezkopadne. Vyuzil bych pipe fifo. man mkfifo. Do pipe zapisoval. Na pipe povesil cteni a vzdy kdyz prijdou data spracuju a cekam na dalsi. Tedy poud jsem pochopil spravne vas pozadavek. Pokud jste schpen s prop. softu spoustet script tak nevidim problem v tom tam zadat rovnou zapis do pipe. Odstrani se tak dalsi mezikrok.
    20.5.2011 12:00 l0gik | skóre: 22
    Rozbalit Rozbalit vše Re: Soubory a dva procesy
    Todle řešení je hezké, ale má problém, že vyžaduje, aby ani jeden z programů nespad. Řešení se zápisem požadavlů je víc odolné.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.