Проблема автоматической настройки Django crontab на сервере разработки ubuntu
Я на локальной разработке windows10 и не могу использовать cron, я тестирую на сервере разработки.
Пытаюсь установить django-crontab на сервер ubuntu 16.04 и столкнулся с парой проблем.
pip install django-crontab
есть в моих установленных приложениях и requirements.txt
INSTALLED_APPS = [
...
'django_crontab',
...
]
В настройках development.py, которые расширяют base_settings.py, есть cronjobs: Пытаюсь протестировать только задание, которое я уже протестировал с помощью команды
CRONJOBS = [
('* * * * *', 'proregattaapi.cron.my_cron_job', '>> /var/log/django_cron_job.log'),
]
the cron.py:
from datetime import datetime
from django.utils.timezone import get_current_timezone
from api.models import EnrolmentUniquePattern
def my_cron_job():
print('my_cron_test')
EnrolmentUniquePattern.objects.filter(
expiration_date__lt=datetime.datetime.now(get_current_timezone())).delete()
затем перебрасывается на сервер, размещенный на digital ocean.
SSH на сервер, активировали виртуальную среду и выполнили вызовы:
python manage.py crontab add
python manage.py crontab show
python manage.py crontab run 3a55bd7591de350aa5d5d7be7758f17c
в приведенном выше примере, получил подтверждение того, что задание запущено, с помощью команды crontab run. Выполнил задание, которое удаляло модели со сроком действия, показанным выше
но когда я это сделал:
python manage.py runserver
или левый супервайзер запускает сервер разработки
задание не запускалось и ничего не регистрировалось
Потом я посмотрел:
crontab -e
и выход был:
* * * * * /root/.python-virtual-environments/proregatta-django-development-new-virtualenv/bin/python
/var/www/development.proregatta.com/manage.py crontab run 3a55bd7591de350aa5d5d7be7758f17c >> /var/log/django_cron_job.log # django-cronjobs for proregattaapi
Из моих ограниченных знаний, я думал, что crontab делает следующее: достаточно установить django crontab и жить внутри запущенного проекта.
Я не активирую virtualenv перед запуском cron?
Что я упускаю?
Заранее спасибо!