Джанго crontab не работает в фоновом режиме - PullRequest
0 голосов
/ 01 марта 2019

Я использую django-crontab для запуска некоторых заданий cron в рамках моего проекта.У меня есть настройка виртуальной среды для этого конкретного проекта.

Поэтому после активации среды я добавляю задания с помощью следующей команды:

python manage.py crontab add

Я вижу, что мои задания успешно добавляютсяв crontab ОС, однако, когда я вижу журналы, я обнаружил, что он не может найти определенные модули (прочитать все), которые были установлены в виртуальной среде.

Однако, если я запускаю эти cron вручную, передаваяхэш к команде run, он выполняется успешно.

При дальнейшей проверке я обнаружил, что когда кроны добавляются в crontab, двоичные файлы python указываются на глобальные (двоичные файлы системного уровня) вместо двоичных файлов виртуального уровня.

Единственное решение, которое я могу придумать, - запустить pip install на системном уровне, но это испортит среду sanbox, которую я собираюсь создать.

Есть идеи?

1 Ответ

0 голосов
/ 01 марта 2019

django-crontab больше не поддерживается.Последние изменения в этой библиотеке произошли более 2 лет назад.Я действительно советую прекратить его использование.

Для исправления этой ошибки вы можете использовать либо настройку CRONTAB_PYTHON_EXECUTABLE, чтобы указать на исполняемый файл python из вашего env, либо CRONTAB_COMMAND_PREFIX, чтобы добавить что-то, что просто активирует эту virtualenv перед запускомпитон.

...