Проблема автоматической настройки 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?

Что я упускаю?

Заранее спасибо!

Вернуться на верх