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

Сервер очередей который может самостоятельно поднимать воркеры по необходимости?

У нас есть сервис, с большим количеством клиентов(аккаунтов), для каждого пользователя хочется создать собсвенную очередь задач чтоб они друг друга не задерживали.

Большое количество "воркеров" для rabbitMQ и/или docker не охота, т.к. не понятно т.к.
  1. Непонятно как отселживать их гибель
  2. Они с таким количеством клиентов съедят очень много ОЗУ
  3. 99% времени они не нужны, т.к. очередь у большинства будет пуста

Охто чтоб сервер либо сам выполнял поставленные задачи, либо поднимал воркера только когда есть задача для него, и гасил после окончания работы. Ну и само собой разумеющееся, не запускал задачу из очереди пока пердыдущая не отработает.

Знает ли кто готовое решение для такой задачи?
  • Вопрос задан
  • 285 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
suguby
@suguby
программист, python, django, mysql, git, hg, linux
Зачем на каждого? Если один воркер отработал одного клиента, то пусть обработает следующего :) Гасить/поднимать - тоже ведь жрущая ресурсы задача.
В celery есть авто-балансировка количества воркеров - docs.celeryproject.org/en/latest/userguide/workers... можно указать сколько держать в памяти на всяк случай и до скольки добавочных можно поднимать при необходимости.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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