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í
×

včera 20:55 | Komunita

Linux ve VirtualBoxu nebude potřebovat Přídavky pro hosta (Guest Additions). Budou součástí linuxového jádra. Ovladač vboxguest by se měl dostat do Linuxu 4.16. Ovladač vboxsf by měl následovat.

Ladislav Hagara | Komentářů: 5
včera 17:11 | Komunita

Vývojáři Thunderbirdu žádají o vyplnění dotazníku. Upřednostňujete klasický vzhled nebo raději Monterail (GitHub)?

Ladislav Hagara | Komentářů: 14
včera 12:22 | Komunita

Mozilla.cz informuje, že většina problémů s rychlostí Firefoxu 57 při použití open source odečítače NVDA (NonVisual Desktop Access) budou vyřešeny hned v další verzi Firefoxu 58. NVDA je zatím dostupný pouze pro operační systémy Windows.

Ladislav Hagara | Komentářů: 0
včera 05:55 | Bezpečnostní upozornění

V knihovně glibc (GNU C Library) byla nalezena a v upstreamu opravena bezpečnostní chyba CVE-2018-1000001 (buffer underflow) zneužitelná k lokální eskalaci práv. Podrobnosti na halfdog.net.

Ladislav Hagara | Komentářů: 0
16.1. 13:11 | Komunita

Mozilla.cz informuje o 2 plánovaných novinkách ve Firefoxu. Nové webové funkce budou ve Firefoxu dostupné jen přes HTTPS (en) a nové verze Firefoxu přinesou rychlejší přepínání panelů (předehřívání nebo žhavení panelů, anglicky tab warming).

Ladislav Hagara | Komentářů: 5
16.1. 12:44 | IT novinky

Hodnota Bitcoinu, decentralizované kryptoměny, klesla na cca 12 000 dolarů. Před měsícem byla hodnota Bitcoinu téměř 20 000 dolarů [reddit].

Ladislav Hagara | Komentářů: 28
16.1. 05:55 | Bezpečnostní upozornění

Bezpečnostní tým Cisco Talos upozorňuje na celou řadu bezpečnostních chyb v Blenderu. Vývojáři Blenderu byli o chybách informování již v září. Dosud tyto chyby ale opraveny nebyly. Doporučeno je neotevírat v Blenderu soubory z nedůvěryhodných zdrojů.

Ladislav Hagara | Komentářů: 2
15.1. 17:22 | Bezpečnostní upozornění

Společnost F-Secure upozorňuje na bezpečnostní "problém" v Intel AMT (Active Management Technology). Útočník s fyzickým přístupem k počítači s povoleným AMT a nenastaveným heslem k MEBx (Management Engine BIOS Extension) může obejít heslo nastavené v BIOSu, pin v TPM, přihlašovací jméno a heslo do operačního systému nebo i šifrování disků restartováním tohoto počítače a při jeho startu zavedením MEBx (CTRL-P) a zadáním výchozího hesla "admin". Pak už útočníkovi stačí pouze změnit heslo a povolit vzdálený přístup k počítači na úrovni AMT.

Ladislav Hagara | Komentářů: 10
15.1. 15:11 | Zajímavý projekt

Na Indiegogo byla dnes spuštěna kampaň na podporu 6 palcového notebooku a kapesní herní konzole GPD WIN 2. Cena v rámci kampaně byla stanovena na 649 dolarů. Cílová částka 100 tisíc dolarů byla překonána již 8 krát. Ukázka s Linuxem na YouTube.

Ladislav Hagara | Komentářů: 5
15.1. 05:55 | Bezpečnostní upozornění

V GitLabu, v open source alternativě GitHubu, tj. v softwarovém nástroji s webovým rozhraním umožňujícím spolupráci na zdrojových kódech, byl nalezen vážný bezpečnostní problém. Bezpečnostní aktualizace bude vydána ve středu 17. ledna v 00:59.

Ladislav Hagara | Komentářů: 3
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (7%)
 (1%)
 (1%)
 (1%)
 (77%)
 (13%)
Celkem 1317 hlasů
 Komentářů: 53, poslední včera 16:55
    Rozcestník

    Dotaz: Cron - nespouštět novou instanci

    16.9.2011 09:16 Standa N.
    Cron - nespouštět novou instanci
    Přečteno: 250×

    Pouštím v CRONu každé 2 minuty úlohu, která zpracovává poměrně složitý SQL job nad Oracle DB.

    */2 06-18 * * 1-5 su - oracle -c "sqlplus @/usr/local/bin/job.sql"

    Job běží cca 10-20 sekund a čas si loguji do DB.
    Bohužel při extrémním zatížení DB (které neovlivním) běží skript i 5 minut.

    OTÁZKA:
    Mohu nějak zařídit, aby se úloha v cronu nespustila znovu, dokud nedoběhla její předchozí instance?
    Něco podobného jako je ve WIN-plánovači úloh.
    Jediné co mne napadá, že si budu ukládat a hlídat "běží/neběží" až v DB.

    Díky, Standa


    Řešení dotazu:


    Odpovědi

    16.9.2011 10:07 David Karban | skóre: 12 | blog: DK
    Rozbalit Rozbalit vše Re: Cron - nespouštět novou instanci
    Zdravím,

    nestačí na toto jen obyčejný zámek realizovaný souborem?

    Na začátku skriptu si otestujete, jestli existuje zámek, pokud ano tak skript ještě běží. Pokud ne tak ho vytvoříte a na konci cronu jej smažete. Má to ale háček v tom, že když skript spadne, tak neodstraní zámek. To se dá vyřešit třeba tak, že v zámku máte uloženo PID procesu co běží a na začátku provedete i test zda skutečně běží.

    Stejně tak se dá zámek udělat přímo v databázi.
    16.9.2011 10:36 Standa N.
    Rozbalit Rozbalit vše Re: Cron - nespouštět novou instanci

    Díky,
    právě - jediné čeho jsem se bál je situace, kdy by skript padnul, nebo by ho někdo killnul.
    Zkusím to nějak realizovat, Díky.

    16.9.2011 12:21 l4m4
    Rozbalit Rozbalit vše Re: Cron - nespouštět novou instanci
    Pokud skript může padat, nedávej zaykání do něj, ale do nějakého wrapperu (který navíc pomocí trap po sobě může vyčistit i v případě ukončení signálem - kromě KILL samozřejmě).
    16.9.2011 11:16 jekub
    Rozbalit Rozbalit vše Re: Cron - nespouštět novou instanci
    Proč si úlohu nenaplánujete přímo v databázi (dbms_job, dbms_scheduler)?
    16.9.2011 12:28 Standa N.
    Rozbalit Rozbalit vše Re: Cron - nespouštět novou instanci

    Aha, taková možnost mne ani nenapadla - SQL umím obstojně, ale nejsem ORACLE specialista.

    Je tam někde možnost spustit max. jednu instanci?
    Syntaxi si dohledám, díky.

    16.9.2011 13:42 jekub
    Rozbalit Rozbalit vše Re: Cron - nespouštět novou instanci
    pokud je interval spouštění kratší než doba běhu, tak...
    drop table t;
    create table t(sid number,dt date,descr varchar2(10));
    
    create or replace procedure p is
    begin
    	insert into t values(sys_context('userenv','sid'),sysdate,'start');
    	dbms_lock.sleep(90);
    	insert into t values(sys_context('userenv','sid'),sysdate,'stop');
    end;	
    /
    
    var job number
    exec dbms_job.submit(:job,'begin p;end;',sysdate,'sysdate+1/24/60')
    commit;
    
    ...
    
    select sid,to_char(dt,'DD.MM.YYYY HH24:MI:SS'),descr from t order by dt
    
    157	16.09.2011 13:32:32	start
    157	16.09.2011 13:34:02	stop
    157	16.09.2011 13:34:02	start
    157	16.09.2011 13:35:32	stop
    157	16.09.2011 13:35:32	start
    157	16.09.2011 13:37:02	stop
    
    exec dbms_job.remove(:job)
    drop procedure p;
    drop table t;
    
    
    16.9.2011 14:20 drunkezz | skóre: 33 | blog: kadeco
    Rozbalit Rozbalit vše Re: Cron - nespouštět novou instanci
    alebo priamo do skriptu spravit podmienku

    cize zistit si PID beziaceho job.sql..a vzdy ked sa uloha z kronu spusti tak najprv skontroluje ci bezi alebo nebezi predchadzajuca uloha....ja to robim tak.. D.
    17.9.2011 11:57 Jooky (inactive) | skóre: 39 | blog: Jooky | Bratislava
    Rozbalit Rozbalit vše Re: Cron - nespouštět novou instanci
    Ja na podobne pripady pouzivam vyspelejsi "fcron". Jeden s viacerych parametrov, ktore ma je moznost "serial". Job oznaceny ako serial, moze bezat len raz, aj ked podla planovania by sa mal pustit znova ... no ak je moznost to pustat rovno v DB, tak ja by som pouzil tu moznost.

    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.