![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 6.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich (IMG:style_emoticons/default/smile.gif)
Mam nadzieje że jest ktoś w stanie mi pomóc rozwiązać problem ze skryptem do aktualizacji stanów magazynowych. Otóż sklep stoi na home.pl i tutaj jest problem... (od administatorów jedyne czego się dowiedziałem to żeby przenieść na inny pakiet hostingowy (IMG:style_emoticons/default/tongue.gif) ot tak pomocni są)... a mianowicie mają ustawione limity CPU (ok rozumie) ale także max_execution_time na ok 5min którego zmienić nie można :/ ale do sedna... Moje wypociny ponizej i jako że jestem laikiem w programowaniu to nie bardzo wiem jak go zoptymalizować lub podzielić na części aby wykonywały się jedna po drugiej (np podzielic plik xml i jeden po drugim parsowac, plik zawiera około 10 000 produktów ~10mb).
Fragment XML:
pokrótce: skrypt pobiera xml przy pomocy simpleXML oraz laczy sie z baza danych gdzie wcześniej zostały zaimportowane produkty z numerem ID wpisanym do tabelki `reference` i jeśli produkt istnieje zarówno w DB jak i XML jego stan magazynowy zostaje uzupelniony odpowiednią liczbą, natomiast jeśli produkt znajduje się w bazie danych ale nie w XMLu to jego stan określa się jako 0. całość opiera się na metodzie array_search() czyli przeszukuje określonego wyrażenia w całej tablicy trzymającej numery ID produktów z XML'a. I pewnie dlatego nieraz otrzymuje komunikat CPU LIMIT jednak nie wymyśliłem jakiegoś innego sposobu aby to sprawdzać. Za każdą sugestie podpowiedź, przykład, rzut okiem na kod będę bardzo wdzięczny (IMG:style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 6.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
+plusik dla każdego za dobre chęci i rady (IMG:style_emoticons/default/smile.gif)
Udało mi się to dopracowac (tak przynajmniej mysle) nie jest idealnie poniewaz wykorzystałem petelke for aby robiła się ograniczona ilosc produktów a nastepnie GETem pobierało na czym się zakończył poprzedni proces ale działa. Ale przez to za każdym nowym wywołaniem skryptu musi on tworzyć od nowa całą tablice z pliku xml i kontynuować od wyznaczonego miejsca (wykorzystałem XMLreader ale czy poprawnie?). Jeszcze mam takie pytanie: Czy jakbym chciał ten skrypt wrzucic do CRONa aby robił się automatycznie to nie bedzie problemu z takim przekazywaniem zmiennych GETem?
jako że nigdy nie korzystałem z CRONa to niestety nie wiem i prosiłbym tylko o jeszcze taką drobną podpowiedz (IMG:style_emoticons/default/smile.gif) Kodzik dla zainteresowanych:
----- EDIT Ok trochę poszperałem i już wiem że głupie pytanie zadałem bo przecież oczywiste ze meta i headers jest dla przegladarki i CRON to pominie :/ Jednak jakby ktoś mógł mi pokazać jak zamienić ten meta tag i GET na CURL byłbym ogromnie wdzięczny, ponieważ gdzieś wynalazłem iż tym da rade wykonać to co stworzyłem jako zadanie crona Pozdrawiam Ten post edytował tom3k21 7.05.2014, 11:07:14 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 17:57 |