Задать вопрос
@abbrakadabbra

Как оптимизировать Celery+Redis?

В проекте (на Django) используется Celery для генерации отчетов, отправки сообщений, периодические таски и т.д. На периодические таски прописаны свои task_routes, на shared/task свои. Однако на production мы столкнулись с проблемой, что вочередь занимает большое кол-во мелких задач, из-за которых с большой задержкой выполняются другие.

Как лучше всего организовать очередь, настроить Celery/Redis или что ещё можно сделать чтобы таски выполнялись с меньшими задержками?

Celery worker запущены с concurrency 4, auto_scale 8,32
  • Вопрос задан
  • 228 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик расширенный
    14 месяцев
    Далее
  • Яндекс Практикум
    Мидл Python-разработчик
    6 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
alternativshik
@alternativshik
больше воркеров, больше очередей.
Ответ написан
Вам нужно под приоритетные задачи выделить отдельную очередь(очереди), а все остальное обрабатывать отдельно. Таким образом мелкие не будут блокировать важные
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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