![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 17.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Szukam rozwiązania problemu związanego z limitem wykonania się skryptu na moim hostingu. Napisałem skrypt, który aktualizuje stany i ceny w moim sklepie internetowym, według danych z pliku xml hurtowni i jest uruchamiany przez CRONA. Problem polega na tym, że hosting na którym postawiony jest sklep, ma limit wykonania się skryptu, ustawiony na 1 minutę, a produktów jest kilkanaście tysięcy. Próbuję wymyślić obejście tego limitu i wpadłem na pomysł, aby skrypt aktualizował towary porcjami, czyli aktualizuje określoną porcję towarów i przed zakończeniem działania uruchamia siebie samego z odpowiednimi parametrami i aktualizuje kolejną porcję. Chciałbym tylko prosić o podpowiedź jakiej funkcji użyć do uruchomienia tego skryptu drugi raz. Musi ona działać w ten sposób, że podczas uruchomienia tej funkcji, skrypt nie będzie już czekał na zakończenie jej działania, tylko zakończy swoją pracę. Mam nadzieję, że wytłumaczyłem mój problem dostatecznie dobrze. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Jeśli z poziomu skryptu PHP (A) uruchomisz inny skrypt (B), to tak czy siak (A) będzie czekał na zakończenie pracy (B).
Podstawowe pytanie - zadanie uruchamiasz z wiersza poleceń, czy po http (np. za pomocą wget)? Bo limit czasu wykonywania tyczy się tylko skryptów uruchamianych po http, chyba że admin Twojego serwera wymyślił jakieś udziwnienie... Ten post edytował sowiq 31.12.2013, 14:29:03 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 17.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Skrypt jest uruchamiany po http, bo jest częścią aplikacji napisanej w Zendzie, więc najłatwiej mi było go uruchomić w ten sposób. jeśli faktycznie limit tyczy się z reguły tylko skryptów uruchamianych po http, to jest już dla mnie jakiś trop. W takim razie będę eksperymentował nad uruchomieniem skryptu z wiersza poleceń.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
Jeśli z poziomu skryptu PHP (A) uruchomisz inny skrypt (B), to tak czy siak (A) będzie czekał na zakończenie pracy (B). to zależy gdyż nie musi ;] oprócz tych tricków są też różne zaawansowane cronweby gdzie zadania możesz uruchamiać częściej niż co 5 min bazujące na wywołaniu http gdyż są na innych serwerach - poszukaj w google [php]Kilka procesów jednocześnie Uruchamianie skryptu php "w tle" Przekazywanie obiektu COM, Przekazywanie obiektu COM między wywołaniami strony [php] Skrypt działający non stop, gentoo [wolontariat]wykonywanie 2 akcji po kliknięciu na button uruchamianie pliku php co 30s bez właczonego kompa - na serwie PHP uruchomienie procedury składowanej bez czekania na resultat Ten post edytował zegarek84 31.12.2013, 14:54:24 -------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Skoro Zend, to nie ma żadnego problemu żeby odpalać Twoje zadanie z poziomu konsoli.
https://www.google.pl/search?q=zend+run+action+from+console ==>> http://stackoverflow.com/questions/2325338...om-command-line jeśli faktycznie limit tyczy się z reguły tylko skryptów uruchamianych po http, to jest już dla mnie jakiś trop Trop jest bardzo prosty - Twój skrypt nie wyrabia ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.08.2025 - 22:48 |