Назад | Перейти на главную страницу

Nextcloud cron.php тайминги

Так как рекомендовано официальной документацией Nextcloud, Я начал использовать систему, которая вызывает cron.php каждые 15 минут. Вызов заключен в программу, которая сообщает мне об ошибках по электронной почте и устанавливает тайм-аут в 2 минуты на выполнение cron.php.

Иногда по истечении времени ожидания оболочка отправляет SIGTERM и cron.php выходит мирно - без необходимости SIGKILL.

Он ничего не печатает - тоже для Apache error.log - при этом. Всякий раз, когда я проверяю интерфейс администратора, он сообщает, что Cron был недавно запущен. Проблема возникает примерно раз в неделю.

Кстати, у меня это уже было до перехода на Nextcloud.

Тайм-аут в две минуты слишком мал? Или это ошибка? Что я должен делать?

Вы уже какое-то время пробовали активировать уровень DEBUG в логах? Пожалуйста, посмотрите на https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/logging_configuration.html#log-level и установите уровень на 0.

Затем вы должны увидеть вкладку cron, описывающую его действие, и вы можете рассчитать время для различных заданий. Вот отрывок из журнала (из версии NC 9, потому что мне не приходилось проводить такой анализ после перехода на 13, но формат должен быть аналогичным).

{"reqId": "6wulvcxV3RGWrlto + 5V0", "remoteAddr": "", "app": "cron", "message": "Запустить задание OCA \ User_LDAP \ Jobs \ CleanUp с идентификатором 16", "level": 0 , "time": "2018-11-08T21: 30: 02 + 00: 00", "method": "-", "url": "-", "user": "-", "version ":" 9.1.5.2 "} {" reqId ":" 6wulvcxV3RGWrlto + 5V0 "," remoteAddr ":" "," app ":" cron "," message ":" Завершено задание OCA \ User_LDAP \ Jobs \ CleanUp с идентификатором 16 »,« level »: 0,« time »:« 2018-11-08T21: 30: 02 + 00: 00 »,« method »:« - »,« url »:« - »,« user » : "-", "версия": "9.1.5.2"}

Вы можете фильтровать сообщения с помощью значения «app»: «cron» и разделять запросы с помощью «reqId», а затем рассчитывать продолжительность задания между «Run» и «Finished».

В качестве заключительного замечания, мой экземпляр NC имеет размер GB, а задания cron могут длиться более 2 минут. Некоторым приложениям (удержанию) серьезно нужна также оптимизация SQL, иначе работа будет длиться вечно.

ура, гдж