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 13:33 | IT novinky

    Společnost JetBrains oznámila, že počínaje verzí 2026.1 budou IDE založená na IntelliJ ve výchozím nastavení používat Wayland.

    Ladislav Hagara | Komentářů: 0
    dnes 11:22 | IT novinky

    Společnost SpaceX amerického miliardáře Elona Muska podala žádost o vypuštění jednoho milionu satelitů na oběžnou dráhu kolem Země, odkud by pomohly zajistit provoz umělé inteligence (AI) a zároveň šetřily pozemské zdroje. Zatím se ale neví, kdy by se tak mělo stát. V žádosti Federální komisi pro spoje (FCC) se píše, že orbitální datová centra jsou nejúspornějším a energeticky nejúčinnějším způsobem, jak uspokojit rostoucí poptávku po

    … více »
    Ladislav Hagara | Komentářů: 2
    dnes 11:11 | Nová verze

    Byla vydána nová verze 2.53.0 distribuovaného systému správy verzí Git. Přispělo 70 vývojářů, z toho 21 nových. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 04:22 | Komunita

    Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 216. sraz, který proběhne v pátek 20. února od 18:00 v Red Hat Labu (místnost Q304) na Fakultě informačních technologií VUT v Brně na ulici Božetěchova 1/2. Tématem srazu bude komunitní komunikační síť MeshCore. Jindřich Skácel představí, co je to MeshCore, předvede nejrůznější klientské zařízení a ukáže, jak v praxi vypadá nasazení vlastního repeateru.

    Ladislav Hagara | Komentářů: 0
    dnes 03:33 | Nová verze

    Byla vydána nová major verze 9.0 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 13:55 | IT novinky

    Hodnota Bitcoinu, decentralizované kryptoměny klesla pod 70 000 dolarů (1,44 milionu korun).

    Ladislav Hagara | Komentářů: 8
    včera 13:22 | IT novinky

    Valve z důvodu nedostatku pamětí a úložišť přehodnocuje plán na vydání zařízení Steam Controller, Steam Machine a Steam Frame: „Cílem tedy stále zůstává vydat všechna tři nová zařízení v první polovině letošního roku, ale přesná data a ceny jsou dvě věci, na kterých usilovně pracujeme a jsme si dobře vědomi toho, jak rychle se v tomto ohledu může vše změnit. Takže ač dnes žádné zveřejnitelné údaje nemáme, hned jak plány finalizujeme, budeme Vás informovat.“

    Ladislav Hagara | Komentářů: 1
    včera 03:11 | Komunita

    Do 20. února lze hlasovat pro wallpapery pro Ubuntu 26.04 s kódovým názvem Resolute Raccoon.

    Ladislav Hagara | Komentářů: 2
    včera 02:22 | Nová verze

    Byla vydána lednová aktualizace aneb nová verze 1.109 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.109 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 1
    4.2. 19:33 | Zajímavý projekt

    Na Kickstarteru běží kampaň na podporu modulárního otevřeného handheldu Mecha Comet s Linuxem.

    Ladislav Hagara | Komentářů: 6
    Které desktopové prostředí na Linuxu používáte?
     (18%)
     (6%)
     (0%)
     (10%)
     (25%)
     (3%)
     (5%)
     (2%)
     (12%)
     (30%)
    Celkem 774 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Dotaz: Pravidelná kontrola času a akce v daný čas v PERL

    19.9.2009 21:32 saky | skóre: 1
    Pravidelná kontrola času a akce v daný čas v PERL
    Přečteno: 361×

     Zdravím všechny.

    Mám tady další, pro mě dosti oříšek.

    Potřebuji v programu vykonat určitou akci vždy v daný čas. Potíž je, že se akce má opakovat každou celou hodinu.

    Nyní mám použito nešťastné řešení, navázané na jinou akci, něco takového:

     

      my %dttime = (); 

      my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); 

      $dttime{year } = sprintf "%04d",($year + 1900); 

      $dttime{mon } = sprintf "%02d",($mon + 1); 

      $dttime{mday } = sprintf "%02d",$mday; 

      $dttime{wday } = sprintf "%02d",$wday + 1; 

      $dttime{yday } = sprintf "%02d",$yday; 

      $dttime{hour } = sprintf "%02d",$hour; 

      $dttime{min } = sprintf "%02d",$min; 

      $dttime{sec } = sprintf "%02d",$sec; 

      $dttime{isdst} = $isdst;

        if ($dttime{min} eq '00') {

      print  ":367: Je přesně $dttime{hour}:$dttime{min} hodin");

      }

    To celé je v sub on_public , tedy v reakcích na něco jiného a jestliže není zrovna po dobu trvání minuty 00 žádná akce požadována, výpis neproběhne.

    Nyní co potřebuji...

    Potřebuji, aby mi aplikace každou minutu kontrolovala aktuální čas a v celou hodinu vypsala přesný čas. Návaznost na akce v předchozím není nutná, snad ani žádoucí :-). Pokud by přesto musel výpis času zůstat navázán na jiné akce, je třeba ošetřit, aby se vypsal pouze jednou v každou celou hodinu, nyní se vypisuje u každé akce vždy po dobu trvání 00 minut .-) Moc díky všem :-)

     


    Řešení dotazu:


    Odpovědi

    20.9.2009 03:48 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: Pravidelná kontrola času a akce v daný čas v PERL
    No a proč si nepřidáš záznam do cronu ? A tam zadáš že každou hodinu se má spustit program XYZ, a to že je to perl je mu jedno, napsané to může být v čemkoliv co máš na PC.
    20.9.2009 08:44 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Pravidelná kontrola času a akce v daný čas v PERL
    podle té 367 ... řekl bych že to je zas nějakej chat bot, kterej běží furt a pravděpodobně ta akce se má provést v tom běžícím programu (tj. ne spouštět nový)
    In Ada the typical infinite loop would normally be terminated by detonation.
    20.9.2009 13:09 saky | skóre: 1
    Rozbalit Rozbalit vše Re: Pravidelná kontrola času a akce v daný čas v PERL

     Přesně tak, potřebuji v celou hodinu provést pouze výpis na obrazovku, asi jsem to špatně popsal :-)

    20.9.2009 13:11 saky | skóre: 1
    Rozbalit Rozbalit vše Re: Pravidelná kontrola času a akce v daný čas v PERL

     Viz níže, nejde mi o spuštění aplikace, ale o vykonání příkazu v 00. :o)

    20.9.2009 13:46 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Pravidelná kontrola času a akce v daný čas v PERL
    Jelikož máte očividně celou aplikaci postavenou na událostech, tak bych nejprve řešil, jestli modul který používáte umí vyvolat časovou událost...
    In Ada the typical infinite loop would normally be terminated by detonation.
    21.9.2009 14:15 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Pravidelná kontrola času a akce v daný čas v PERL
    Já bych tomu běžícímu procesu z cronu poslal nějaký signál. Dělat kvůli tomuto vlastní vlákno nebo tak něco, no nevím.
    Řešení 1× (saky (tazatel))
    21.9.2009 14:34 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Pravidelná kontrola času a akce v daný čas v PERL
    udržuj si zoznam eventov a časov ich vykonania, niečo ako:
    @list = (
     [ time + 900, \&o_15_minut ],
     [ time + 3600, \&o_hodinu ],
    );
    
    ak používaš nejakú slučku s prerušením (napr poll), tak použi verziu s timeoutom (ten zabezpečí pravidelné prerušenie) a potom spusti všetky záznamy zo zoznamu, ktorý čas spustenia je menší alebo rovný ako aktuálny čas. Timeout použiť dynamický, rozdiel medzi aktuálnym časom a minimom zo zoznamu.

    ak nie, tak skús alarm

    pre výpočet času nasledujúcej udalosti skús Schedule::Cron::Events

    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.