HTTP watchdog

Petr Simek psimek na jcu.cz
Pátek Červen 13 20:10:16 CEST 2014


On Fri, 13 Jun 2014, Kosta wrote:

> Potřebuji zhruba každých 15s spouštět určitý script, script je jednoduchý bez 
> cyklů, ve scriptu se kontroluje zda byl odeslán soubor, v případě, že ne, ho 
> script odešle a soubor smaže. Problém je, že na hostingu mohu z cronu volat v 
> 15 minutovém intervalu. Kromě cromu není na hostingu žádná jiná možnost 
> asynchronního spouštění.
>
> Cílová úloha je prostá, na server se uploaduje soubor, po dokončení uploadu 
> je soubor zpracován a odeslán celkem na tři servery. No a tady vzniká 
> problém, udělat to synchronně nejde, script skončí na timeoutu (maximální 
> dobu vykonání scriptu nemohu měnit) . Prakticky jsem si ověřil, že na upload 
> na cizí server mám času dost, ale na dva již ne. Tudíž se nabízí asynchronní

Ja bych to resil spoustecim skriptem ktery by spoustel jednou za 15 sec ty
uploadovaci skripty :

while true ; do
   ./uploadovaci_skript.sh na_server1 &
   ./uploadovaci_skript.sh na_server2 &
   ./uploadovaci_skript.sh na_server3 &
   sleep 15
done

A pak dalsi skript ktery by se spoustel jendou za 15 minut z cronu ktery
by zkontroloval zda ten prvni skript bezi a pokud ne tak by ho spustil :

   ./spousteci_skript.sh &

Pokud by z nejakeho duvodu ten spousteci skript havaroval tak do
15 minut bude znovu spusten cronem. Ale neni moc duvod k havarii
toho sposuteciho skriptu - jen restart serveru nebo ukonceni spravcem.


> M Kosťa Kostomlatský

*------------------------------------------------------------------------*
|                          Petr Simek   APS JU                           |
|                             psimek na jcu.cz                              |
*------------------------------------------------------------------------*


Další informace o konferenci Hw-list