Скрипт Python не запускается из crontab

вhttps://stackoverflow.com/questions/32400933/how-can-i-list-all-vhosts-in-nginxэто ответ:

grep server_name /etc/nginx/sites-enabled/* -RiI

0
25.03.2020, 16:31
1 ответ

Я не вижу обработки исключений в вашем коде. В правильно спроектированном приложении должна быть предусмотрена обработка исключений и регистрация ошибок в файле. Вы говорите, что ваш скрипт запускается, если вы удаляете части кода, а это означает, что cron выполняет его, но если возникает ошибка, у вас нет следов, и расследование затруднено. Если бы у вас был лог, возможно, вы бы уже разобрались в проблеме.

Иногда я делаю автозапуск сценария в сеансе GNU screen , чтобы после запуска я мог подключиться к экранной консоли и увидеть сценарий в действии.

Глядя на ваш код, я вижу, что у вас есть локальный экземпляр Mysql. Возможно, Mysql еще не запущен, когда запускается ваш скрипт. Может быть так просто. Многие сценарии запуска ошибочно предполагают, что сетевые или другие службы всегда будут доступны при их запуске.

Лучшим способом было бы создать собственную службу systemd для запуска этого скрипта. Это не сложно. Когда вы это сделаете, вы можете установить зависимости , например, вы можете указать, что ваша служба не должна запускаться перед службой Mysql и т. д.

Теперь я предлагаю следующие шаги:

  • всегда записывайте вывод ваших заданий cron в файл -ваш скрипт, вероятно, выдает ошибку, но вы ее не видите
  • улучшите свой скрипт, добавив обработку исключений (10 строк кода будет достаточно)
  • когда вы это сделаете, проблема станет очевидной, тогда обдумайте остальные мои советы
0
28.04.2021, 23:19

Теги

Похожие вопросы