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

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

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

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

Celery worker запущены с concurrency 4, auto_scale 8,32
  • Вопрос задан
  • 229 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Django: создание backend-приложений
    7 недель
    Далее
  • Академия Эдюсон
    Python-разработчик
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Python-разработчик + ИИ
    8 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
alternativshik
@alternativshik
больше воркеров, больше очередей.
Ответ написан
Вам нужно под приоритетные задачи выделить отдельную очередь(очереди), а все остальное обрабатывать отдельно. Таким образом мелкие не будут блокировать важные
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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