У меня есть веб-сайт Django, и я хочу, чтобы определенный фрагмент кода Python запускался через определенные промежутки времени. Что было бы хорошим способом сделать это?
я знаю что могу cron
, но я бы предпочел, чтобы решение находилось в Django.
Я знаю, что есть модуль под названием celery, который должен это делать, но для этого требуется установить RabbitMQ и настроить его для взаимодействия с Apache, а это еще одна вещь, которую нужно поддерживать, и я предпочитаю этого избегать.
Какие-либо предложения?
Взгляни на Хронограф. Вы также можете посмотреть на командные расширения и это Вопрос о переполнении стека.
Вы можете попробовать Celery: распределенная очередь задач
Мы используем это для разгрузки задач не в реальном времени, но их нужно выполнять немедленно, например, отправив письмо с подтверждением пользователю по адресу http://www.allthingscustomized.com/
Попробовать
Сельдерей, поддерживающий периодические задачи, на самом деле больше похож на побочный эффект. Если вам не нужна асинхронная часть, это, вероятно, излишне для вас. Однако, если вы уже зависите от него, периодические задачи - отличное дополнение, а способ планирования действий очень полезен для довольно многих асинхронных шаблонов. Особенность сельдерея, которой нет в cron (AFAIK), заключается в том, что он может распределять периодические задания по нескольким серверам. Что, опять же, может быть для вас излишним.