Период выполненияi c django задач внутри docker - PullRequest
0 голосов
/ 03 августа 2020

У меня есть команда управления django для очистки сайта и соответствующего обновления базы данных. Я планирую запускать эту задачу каждые 10 минут непрерывно. Раньше я писал cronjobs для обновления базы данных во время разработки, но теперь в производстве я использую Docker, где я могу запустить только одну команду CMD, которую я использую для сервера запуска.
RUN python manage.py makemigrations

RUN python manage.py migrate

CMD [ "python", "manage.py", "runserver", "0.0.0.0:5000" ]

RUN touch /var/log/cron.log

RUN (crontab -e ; "python manage.py update_db >> /var/log/cron.log") | crontab

CMD cron && tail -f /var/log/cron.log

Я пробовал что-то подобное, а потом понял, что у нас не может быть 2 CMD в Dockerfile. Я посмотрел на сельдерей, но в этом случае мне также пришлось бы запустить эту команду, и в Dockerfile было бы 2 CMD.

Что было бы лучшим подходом в этой ситуации, поскольку я очень новичок в Docker и написании cronjobs.

Спасибо.

...