Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][cron] Cron w praktyce.. obsługa z poziomu skryptu?, Czy ktoś ma pomysł na taki mechanizm?
kukix
post 26.02.2013, 12:32:02
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?
Go to the top of the page
+Quote Post
mar1aczi
post 26.02.2013, 13:01:08
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.


--------------------
Szanuj innych czas! Kliknij , gdy pomocną wskazówkę otrzymasz.
Go to the top of the page
+Quote Post
mstraczkowski
post 27.02.2013, 02:43:10
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


--------------------
Jeżeli moja wypowiedź Ci pomogła użyj przycisku
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 23.06.2025 - 17:11