![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 600 Pomógł: 2 Dołączył: 1.09.2002 Skąd: Wrocław Ostrzeżenie: (0%)
|
Witam.
Posiadam konto na serwerze nq.pl i zastanawiam się nad obsługa crona z pozimu skryptu. Myśląłem, żeby zrobić tak: 1. ustalam creon aby uruchamiał skrypt cron_wykonaj.php co 5 minut. 2. Skrypt cron_wykonaj.php sprawdzał by w bazi danych w tabeli np "CRON_ZADANIA" czy są jakieś zadanai do wyonania. 3. Jeżeli o w momencie wykoniana cron_wykonaj.php jest jakieś zadania to jest przetwarzane. W ten sposób miałbym łatwą obsługę crona z poziomu skryptu. Co sądzicie o takim rozwiązaniu? Mam pewne problemy ze sposobem zapisu zadań w tabeli "CRON_ZADANIA". Czy może umieszczasc tam linki do poszczególnych plików wykonujących operacje np operacja_1.php, operacja_2.php itd ? Czy ktoś mogłby wypowiedzieć sięw tym temacie? |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 731 Pomógł: 141 Dołączył: 9.05.2011 Skąd: śląskie Ostrzeżenie: (0%)
|
Ścieżki do poleceń musisz podawać bezwzględne. Cron nie koniecznie musi znać $PATH.
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 273 Pomógł: 52 Dołączył: 3.02.2013 Skąd: Przemyśl Ostrzeżenie: (0%)
|
Niektóre crony potrafią trwać długi czas jeżeli mowa o np. Synchronizacji oferty z zewnętrznymi źródłami.
Dodatkowo potrafią zjadać spore ilości pamięci, kilka takich cronów po kolei i twój skrypt padnie z powodu memory limit lub max execution time. A w najgorszym wypadku dojdzie do zalockowania tabeli w bazie i tym podobne. Także ta kwestię musisz przewidzieć i przemyśleć Często jest tak że crony muszą być uruchamiane w odpowiedniej kolejności przykładowo najpierw wypadałoby pobrać nowe kategorie produktów a dopiero potem same produkty. Więc to kolejna rzecz do przemyślenia Kolejna rzeczą jest to, że warto pomyśleć o mechanizmie kolejki, aby tylko jeden cron mógł być aktualnie uruchamiany. Tak aby po 5 minutach nie uruchomił się kolejny lub ten sam cron. Kolejną przeszkodą jest to, że musisz przewidzieć sytuację zakleszczenia, kiedy przykładowo cron się wykonywał zablokował kolejkę i nagle się zawiesił przez co nie dał rady odblokować kolejki w rezultacie żaden cron nie będzie mógł zostać uruchomiony. Pozdrawiam |
|
|
|
![]() ![]() |
|
Aktualny czas: 25.12.2025 - 01:04 |