@shell_guy

Как запускать крон задачи из python virtual env?

Здравствуйте, в сети куча примеров и как обычно они не рабочие
Не отрабатывает крон задание
Что делал:
1.Определил путь к вируальному окружению echo $VIRTUAL_ENV
/opt/Python-3.8.7/proj
2. Добавляю в crontab для запуска раз в минуту
*/1 * * * * /opt/Python-3.8.7/proj [путь где лежит скрипт по факту->]/opt/run_base.py

Ничего не происходит. Почему?
Спасибо
  • Вопрос задан
  • 674 просмотра
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
shell_guy, лучше указывать полные пути до всех файлов.
У меня вот так примерно работает, во всяком случае.
cd /opt/my_python_project && sudo -u username /opt/my_python_project/bin/python3 /opt/my_python_project/main.py

где /opt/my_python_project - путь, где ты развернул venv
/opt/my_python_project/main.py - запускаемый файл проекта
username - имя пользователя, под которым хочешь запускать проект. Если запуск под определённой учёткой не требуется, sudo можно и опустить, но я бы не стал запускать свой скрипт от рута без реальной необходимости. Мало ли что.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@MrSpirit
Я делал так: cd python/project && source venv/bin/activate && python3 main.py
Ответ написан
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
Ну наверное потому во-первых - что путь нужно продолжить - что-то вроде:
/opt/Python-3.8.7/proj/bin/python
до бинарника который ваш скрипт запускать будет

Во-вторых учесть что ваше окружение и окружение кронтаба - разные..
Возможно будет нужно кой-какие пути прописать и прочее...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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