@Ramil03
Backend developer (Django)

Отличие Cron от Celery?

Всем привет!

Объясните кто-нибудь кратко и ясно, чем Cron отличается от Celery?
  • Вопрос задан
  • 379 просмотров
Решения вопроса 1
AlexNest
@AlexNest
Работаю с Python/Django
cron это "функция" linux систем запускать задачи по расписанию. Максимально "примитивная". Сказал ей "дергать [filename].py [каждый день в 6]/[каждые 15 минут]" (условно), она будет это делать.
celery же это библиотека на python, которая позволяет:
  • делать то-же самое, но непосредственно в коде (что позволяет абстрагироваться от ОС).
  • Добавлять "задачи" в очередь задач, что позволяет выполнить код, не ожидая завершения какого-либо процесса.

Зачем нужно второе? Например для загрузки больших файлов. Если делать в основном теле вьюхи то велик шанс словить timeout error. Поэтому, основные данные сохраняются в основном теле, а файл загружается в отдельной задаче.
Также, можно использовать для работы с внешними сервисами, например почтовыми. Тут ситуация примерно такая-же, как и с файлами: хочешь послать email, но сервер долго не отвечает - лови timeout.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы