Autor | Zpráva | ||
---|---|---|---|
Ladicek Profil * |
#1 · Zasláno: 16. 10. 2014, 15:21:46
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 |
#2 · Zasláno: 16. 10. 2014, 15:22:45
Exit, čas si kontrolujte dle vlastního přání.
|
||
Jan Tvrdík Profil |
#3 · Zasláno: 16. 10. 2014, 16:11:50
Ladicek:
Je cílem skript zastavit nebo pozastavit a následně zase pokračovat? |
||
Tori Profil |
#4 · Zasláno: 16. 10. 2014, 16:42:28
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 |
#5 · Zasláno: 16. 10. 2014, 23:18:39
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 |
||
Časová prodleva: 10 let
|
0