Autor Zpráva
Ladicek
Profil *
Zpracovávám velmi obsáhlý XML feed a script se zpracovává hoodně dlouho. Rád bych do scriptu vložil nějaký časový break; ,který ukončí činnost celého scriptu. Existuje takový script?
Alphard
Profil
Exit, čas si kontrolujte dle vlastního přání.
Jan Tvrdík
Profil
Ladicek:
Je cílem skript zastavit nebo pozastavit a následně zase pokračovat?
Tori
Profil
Ladicek:
Předpokládám správně, že jde o nějaký import/export dat? Nedá se provést nějaká optimalizace, oddělit části, které zpracovávají XML od těch, které pracují s výstupem (databáze)? Případně zjistit celkový počet položek v XML, vydělit devatenácti*, po každé devatenáctině přesměrovat na stejnou URL s odlišným parametrem GET, který určí, odkud se má pokračovat ve zpracování.

* 20 je výchozí počet přesměrování pro wget, prohlížeče s tím taky nemají problém. Vyšší počet přesměrování už nefunguje všude.
bestik_63
Profil
Skript spuštěný na straně serveru nepřerušíš, asi jedině počítat čas a po 29s (30 je standardní max doba běhu skriptu) vždy pustit skript tam kde začal. Předpokládám, že tam je cyklus for, který načítá řádky. Jakmile uběhne 29 s přeruš skript a pusť další část.
Abych to přiblížil.
Udělal bych např. session, ve které by bylo uloženo kolik cyklů jsem prošel. Načetla by se stránka a výstup php stránky by v případě nedokončení skriptu javascript s dalším načtením stejné stránky. Ta ale v session má informaci, kde má navázat. To by se opakovalo dokud by se neprovedl celý počet cyklů.

přibližně by to probíhalo takto:

začátek běhu skriptu
zjištení počtu cyklů v session (u prvního načtení založení session) - kde mám navázat
začátek cyklu
načtení dat
podmínka(pokud je čas delší než 29s zastav skript a vypis javascript o načtení stránky)
konec cyklu

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0