Python3 скрипт не работает под crontab - PullRequest
0 голосов
/ 29 мая 2020

Я привык работать с AWS экземплярами EC2 с серверами на Ubuntu 18.04.4 LTS для запуска Python3 рабочих процессов, либо в реальном времени для тестирования, либо в crontab для планирования.

Скрипты из репозитория github запускаются с виртуальной средой Python 3.6.8.

Вот уже несколько недель, как вывод python часто зависает. Если я запустил live скрипт с удаленным s sh подключением, ничего не произойдет. Мне нужно закрыть окно терминала (я использую Windows WSL 1), открыть его снова, снова войти в систему и запустить скрипт с виртуальным env и опцией python -v, чтобы разблокировать вывод скрипта.

У меня такая же проблема с crontabs. Вывод python, перенаправленный в файл журнала, не отображается. У меня пустые файлы журналов.

Я проверил cron.log, ничего полезного. Я также проверил syslog, тоже ничего.

У меня такая же проблема с Ma c, открывающим удаленное соединение s sh. Это также происходит с VScode live remote s sh.

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

У вас есть подсказка?

EDIT

Для crontab без вывода:

10 10 * * * /home/ubuntu/venv/bin/python3 /home/ubuntu/repo/script.py > /home/ubuntu/repo/logs/log_script_`date "+\%Y.\%m.\%d_\%H:\%S"`.log

Если я добавлю параметр -v к Python или даже -m trace - -trace, вывод возвращается, но только вывод функции python print (), а не вся многословность, которую я должен иметь.

После того, как crontab был разблокирован с помощью -v (хотя бы один exe c ), Я могу удалить его, и результат вернется в файл журнала, даже без -v.

EDIT 2

Я разрабатываю сценарии на своем ноутбуке, а затем используйте scp, чтобы загрузить его на удаленный сервер. Заметил, что скрипт зависает навсегда после модификации через scp.

...