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