ecnelis
30.11.2006, 17:19:58
witam
mam pewien problem, szukalem na forum czy juz moze nie wystapil, ale nic nie znalazlem.
mianowicie chodzi o to, ze napisalem klase ktora:
- najpierw rozpakowuje dane (jeden plik xml i zdjecia) z pliku zip,
- parsuje plik xml,
- dodaje dane zamieszczone w pliku xml do bazy mysql
gdy plik xml jest maly, tj wystepuje niewielka ilosc danych do dodania, skrypt wykonuje sie w calosci. natomiast gdy danych do dodania jest baardzo duzo, skrypt nieoczekiwanie w polowie konczy dzialanie. czasami zdarze sie, ze skrypt wykona sie w calosci przy duzym pliku, lecz zdarza sie to rzadko (nie wiem od czego to zalezy). probowalem juz roznych sposobow, m. in. z
- set_time_limit(0)
- ini_set("memory_limit", "32M")
- ignore_user_abort(true)
lecz na nic. jestem bezsilny. bardzo prosze o pomoc. z gory wielkie dzieki
wipo
30.11.2006, 17:29:50
Problem w tym że za długo się on wykonuje
Spróbuj go podzielić na części tj :
rozpakowuje dane - to odpalasz ty
parsuje plik xml - to jest odpalane przez skrpt rozpakowywujący
dodaje dane zamieszczone w pliku xml do bazy - to odpala parser
Możesz też podzielić ilość danych na części.
Możesz też wykonać to nie w php a w shellu, perlu, pythonie itp - one chyba nie mają takich ograniczeń
ecnelis
30.11.2006, 17:39:33
dodam jeszcze, ze w momencie gdy nastepuje dodanie reordu do bazy, jest tez wykonywana operacja:
- kopiowania rozpakowanej fotografii do okreslonego katalogu na dysku,
- pomniejszenie zdjecia (stworzenie miniaturki) i zapisanie go w jeszcze innym katalogu.
tych zdjec jest w sumie srednio okolo 200, sadze ze to jest glowna przyczna zawieszenia sie skryptu...
wipo
30.11.2006, 17:43:02
Skrupt sie wysypuje bo za duzo operacji z tak krótkim czasie ma być wykonanych
ecnelis
30.11.2006, 17:51:33
Cytat(wipo @ 30.11.2006, 17:29:50 )

Problem w tym że za długo się on wykonuje
Spróbuj go podzielić na części tj :
rozpakowuje dane - to odpalasz ty
parsuje plik xml - to jest odpalane przez skrpt rozpakowywujący
dodaje dane zamieszczone w pliku xml do bazy - to odpala parser
Możesz też podzielić ilość danych na części.
Możesz też wykonać to nie w php a w shellu, perlu, pythonie itp - one chyba nie mają takich ograniczeń
ok dzieki za pomoc , sprobuje jeszcze cos pokombinowac nad zmniejszeniem zlozonosci obl. skryptu
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.