Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][xml] skrypt konczy prace
Forum PHP.pl > Forum > PHP
ecnelis
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
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
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
Skrupt sie wysypuje bo za duzo operacji z tak krótkim czasie ma być wykonanych
ecnelis
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 smile.gif
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.