Ответ 1
Я использую cron для веб-сайта для производства и переключился на сельдерей на текущий проект. Я гораздо больше в сельдерее, чем в cron, вот почему:
- Celery + Celerybeat имеет более мелкую зернистость, чем cron. Cron не может работать более одного раза в минуту, в то время как сельдерей может (у меня есть задача, выполняемая каждые 90 секунд, которая проверяет электронную почту для отправки сообщений, а другая - очищает список онлайн-пользователей).
- Линия cron должна вызывать script или уникальную команду с абсолютным путем и информацией о пользователе. Celery вызывает функции python, не нужно писать больше, чем код.
- С сельдереем, чтобы развернуть на другую машину, вам просто нужно вытащить/скопировать код, который обычно находится в одном месте. Развертывание с помощью cron потребует дополнительной работы (вы можете автоматизировать его, но...)
- Я действительно считаю, что сельдерей лучше подходит, чем cron для обычной уборки (кэш, база данных) и вообще для коротких задач. Однако сброс базы данных - это больше работа для cron, потому что вы не хотите помешать очереди событий со слишком длинными задачами.
- Не в последнюю очередь, сельдерей легко распределяется между машинами.