Как добавить задания Cron из нескольких приложений Django в Crontab без конфликтов?Python

Программы на Python
Anonymous
Как добавить задания Cron из нескольких приложений Django в Crontab без конфликтов?

Сообщение Anonymous »

У меня есть два приложения Django, которые я запускаю на Amazon Linux с помощью Gunicorn. Каждое приложение Django имеет свои собственные задания cron, определенные в файле settings.py с помощью django_crontab. Однако я сталкиваюсь с проблемами при попытке добавить задания cron из обоих приложений в crontab.
Вот структура моих приложений:
Приложение 1

Код: Выделить всё

/path/to/app1/
├── manage.py
├── app1/
│   ├── settings.py
│   └── ...

Приложение 2

Код: Выделить всё

/path/to/app2/
├── manage.py
├── app2/
│   ├── settings.py
│   └── ...

В файле settings.py каждого приложения я определил задания cron следующим образом:

Код: Выделить всё

# app1/settings.py
CRONJOBS = [
('*/10 * * * *', 'app1.cron.my_scheduled_task'),
]

# app2/settings.py
CRONJOBS = [
('*/15 * * * *', 'app2.cron.another_scheduled_task'),
]

Когда я пытаюсь добавить задания cron для каждого приложения, используя следующие команды:

Код: Выделить всё

cd /path/to/app1
source /path/to/venv/bin/activate
python manage.py crontab add

cd /path/to/app2
source /path/to/venv/bin/activate
python manage.py crontab add

Когда я добавляю в crontab python Manage.py для второго приложения, я получаю сообщение об ошибке

Код: Выделить всё

RuntimeError: No job with hash 65f37180992aa5435pidg617281f3e6 found. It seems the crontab is out of sync with your settings.CRONJOBS. Run "python manage.py crontab add" again to resolve this issue!
Этот хэш-идентификатор соответствует заданию из первого приложения.
Как добавить задания cron из обоих приложений в crontab, чтобы они не конфликтовали?
Что я пробовал:
Убедиться, что у каждого приложения есть собственная виртуальная среда.
Запуск python Manage.py crontab add< /code> в каталоге каждого приложения.
Желаемый результат:
Я хочу иметь возможность добавлять задания cron из обоих приложений в crontab, не сталкиваясь с конфликты хэш-идентификаторов.

Подробнее здесь: https://stackoverflow.com/questions/787 ... out-confli

Вернуться в «Python»