Staram się zrozumieć zasadę działania cron'a. W chwili obecnej używam wariantu "ajax". O ile mi wiadomo, jedno zadanie jest wykonane na jedno wywołanie strony. Przeglądałem zawartość bazy i zauważyłem, że tabela oc_jobs rozrosła się do kilkudziesięciu tysięcy rekordów.
Czy przechodzenie miedzy katalogami lub zakładkami webpanelu też inicjuje takie zadanie (ajax) ?
Czy wywołanie strony z zalogowanym uzytkownikiem pobudza wywołanie zadań w obrebie całego systemu czy też jedynie tego konkretnego użytkownika ?
Czy jednocześnie, mogę dopisać do crontab serwera, wywołanie cron.php tak by współpracowało z ajax ?
Jakie właściwie zadania sa wykonywane w ramach tego mechanizmu ? Mam obszerna bazę plików z kilkoma użytkownikami i zastanawiam się czy interwał 15 min jest wystarczający.
Użytkownicy nie loguj się poprzez webpanel. Używaj jedynie windowsowego clienta - czy w przypadku ajax w takiej sytuacji aplikacja-client pobudza zadania crona ?
Czy przechodzenie miedzy katalogami lub zakładkami webpanelu też inicjuje takie zadanie (ajax) ? Czy wywołanie strony z zalogowanym uzytkownikiem pobudza wywołanie zadań w obrebie całego systemu czy też jedynie tego konkretnego użytkownika ? Tutaj maszreferencje backgroud jobs
Czy jednocześnie, mogę dopisać do crontab serwera, wywołanie cron.php tak by współpracowało z ajax ? Zmien na ostatnia opcje i wtedy cron bedzie odpalal sie w interwalach i sprawdzal po timestampach ktore zadania potrzebuje odpalic
Jakie właściwie zadania sa wykonywane w ramach tego mechanizmu ? Mam obszerna bazę plików z kilkoma użytkownikami i zastanawiam się czy interwał 15 min jest wystarczający. Czas wykonania jest zalezny od specyfiki twojego systemu. Background jobs sa dyktowane poprzez tz. timestampy w bazie danych, tabela oc_jobs. Jesli wyczyscisz timestamp i odpalisz cron.php, odpalisz zadania ktore potrzebujesz i mozesz zobaczyc ile zajmuja u Ciebie. np:
mysql --user="$dbuser" --password="$dbpass" --execute="use $database; update oc_jobs SET last_run=0 where class='OCA\\Files\\BackgroundJob\\CleanupFileLocks'; "
cd $ocpath && sudo -u www-data php cron.php
Użytkownicy nie loguj się poprzez webpanel. Używaj jedynie windowsowego clienta - czy w przypadku ajax w takiej sytuacji aplikacja-client pobudza zadania crona ? Zadania cron sa wylacznie system-wide, client nigdy nie pobudza crona.
Dziękuję za odpowiedź. Właściwie, informacja na ostatnie pytanie jest dla mnie podpowiedzią jakie rozwiązanie powinienem zastosować. Zdecyduję się na cron:cron'a. Zastosowanie dotychczasowego cron:ajax tłumaczyłoby dlaczego z biegiem czasu tabela oc_jobs w bazie danych napuchła do granic absurdu - brak aktywności na www.