Задание Cron, запланированное на cPanel, не выполняет PHP-скрипт в указанное время, но только при тестированииPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Задание Cron, запланированное на cPanel, не выполняет PHP-скрипт в указанное время, но только при тестировании

Сообщение Anonymous »

У меня настроено задание cron на cPanel для ежедневного запуска PHP API в полночь (часовой пояс в Германии). Скрипт проверяет API и создает повторяющиеся задачи, но не выполняется правильно в запланированное время.
Текущая настройка:
Задание Cron конфигурация 1:

Код: Выделить всё

/usr/bin/curl -s https://clients_domain/api/task_assignments/checkAndRecur.php
Конфигурация задания Cron 2:

Код: Выделить всё

/usr/bin/php82 /usr/www/users/user_name/maintenance/api/task_assignments/checkAndRecur.php
Ручной запуск API работает нормально, и я могу подтвердить, что скрипт ведет себя так, как ожидалось, при прямом вызове. Журналы cron показывают, что задание запускается, но задачи не создаются. Вот запись в журнале, когда я запускал задание вручную:

Код: Выделить всё

Oct 7 11:10:01 www390 CRON[32665]: (user_name) CMD ('/usr/bin/flock' -n -E 0 '/usr/home/user_name/.tmp/bdc369237527a953f28e2870e706903f.lck' '/bin/bash' -c '/usr/bin/php82 /usr/www/users/user_name/maintenance/api/task_assignments/checkAndRecur.php schedule:run >> /dev/null 2>&1')
Поняв, что я вызываю API, для которого требуется запрос GET, я переключился на это:

Код: Выделить всё

/usr/bin/curl -s https://clients_domain/api/task_assignments/checkAndRecur.php >> /usr/home/user_name/cron.log 2>&1
Вот журнал успешного запуска вручную:

Код: Выделить всё

{"status":200,"message":"No recurring tasks to create"}
Однако по расписанию он не запускается должным образом в указанное время. Журналы клиента показали, что cron запустился, но не выполнил задачи должным образом:

Код: Выделить всё

Oct 8 08:43:01 www390 CRON[72554]: (user_name) CMD ('/usr/bin/flock' -n -E 0 '/usr/home/user_name/.tmp/f0c00bd5f7b9f9e68ac1edc278927e6e.lck' '/bin/bash' -c '/usr/bin/curl "https://clients_domain/api/task_assignments/checkAndRecur.php >> /usr/home/user_name/cron.log 2>&1"')
Когда я попросил клиента использовать следующую команду:

Код: Выделить всё

/usr/bin/curl -H "Content-Type: application/json" -X GET https://clients_domain/api/task_assignments/checkAndRecur.php >> /home/user_name/cron.log 2>&1
Они обновили задание cron:

Код: Выделить всё

01 00 * * * /usr/bin/curl -H "Content-Type: application/json" -X GET "https://clients_domain/api/task_assignments/checkAndRecur.php" >> /home/user_name/cron.log 2>&1
Несмотря на это изменение, задание cron по-прежнему не выполняется должным образом в запланированное время. Журналы cron показывают, что оно запускалось только по расписанию вручную, а не в полночь, как предполагалось.
Вот что я увидел в своих собственных журналах, когда запускал задание вручную:

Код: Выделить всё

========================================
[09-10-2024 08:07:17] [INFO] CRON Job: Check and Recreate Recurring Tasks - (Started)
[09-10-2024 08:07:17] [INFO] Task check and recreation response: {"status":201,"message":"Recurring tasks created successfully","task_recreated":2}
[09-10-2024 08:07:17] [INFO] CRON Job: Check and Recreate Recurring Tasks - (Completed) in 0.064024925231934 seconds
========================================
Это файл, который я вызываю API:

Код: Выделить всё


Подробнее здесь: [url]https://stackoverflow.com/questions/79073096/cron-job-scheduled-on-cpanel-not-executing-php-script-at-the-specified-time-but[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»