![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 20.12.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam napisane crony w php i uruchamiam je w ssh ze wzgledu na bardzo dlugi czas wykonywania. Niestety robie to recznie a chcialbym zautomatyzowac, pytanie tylko jak je wpisac do cronjobs jezeli nie ma max czasu wykonywania skryptu, on moze chodzic minute a moze i godzine. Jest jakas mozliwossc zeby z poziomu php sprawdzac czy skrypt jest uruchomiony ? Moze macie jakis inny pomysl zeby to kontrolowac ? Musi sie wykonywac tylko raz w jednym czasie i musi sie uruchamiac cyklicznie.
Myslalem o tym zeby wpisywac w plik informacje gdy sie wykonuje, i wpisywac gdy sie wykona ale jezeli bedzie po drodze jakis blad albo die() to lezy :/ Ten post edytował ornitolog 25.01.2017, 12:43:55 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 872 Pomógł: 94 Dołączył: 31.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Trzeba zrobić prostą blokadę. Gdzieś zapisujesz coś, co świadczy o tym, że skrypt jest uruchomiony. W cronie ustawiasz uruchamianie np. co minutę. W skrypcie na podstawie tego czegoś zapisanego gdzieś tam sprawdzasz, czy skrypt pracuje. Jak pracuje, to przerywasz jego wykonywanie. Po zakończeniu wykonywania skryptu usuwasz taką blokadę.
Tym czymś gdzieś tam może być w najprostszym przypadku utworzenie pliku o nazwie unikalnej dla danego skryptu, ale niezmieniającej się, np. dla skryptu accountUpdate możesz tworzyć plik o nazwie account-update. Powyższe rozwiązanie jest najprostszym z możliwych i ma sporo ograniczeń, ale się sprawdza. Ważne jest, aby w jakiś sposób przechwytywać błędy skryptu powodujące kończenie jego pracy w celu usunięcia blokady - inaczej plik zawsze będzie istniał i skrypt się już nie uruchomi. Ten post edytował lukaskolista 25.01.2017, 14:00:04 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 04:36 |