Я работаю над реализацией архитектуры на основе Flask + Celery для обработки изображений.См. Изображение ниже:
![enter image description here](https://i.stack.imgur.com/mqw4q.png)
Клиент Celery (производитель) - это приложение-колба, которое будет получать изображения для обработки и помещать их в RabbitMQ для использования.работниками сельдерея.
Система может автоматически запускать и останавливать новые рабочие узлы в зависимости от спроса.Каждый рабочий узел сельдерея будет работать с несколькими потоками (параметр --concurrency).
Я думаю иметь один поток для использования из очереди сельдерея по умолчанию.Тогда любой узел может обрабатывать изображения.
Как только данный узел получит / использует изображение из очереди, изображение будет помещено локально в базу данных в памяти.
Как яЯ имею дело с изображениями, я хочу, чтобы изображения не проходили между различными узлами сети.
Обработка изображений будет состоять из множества задач и будет выполняться с использованием цепочки ().
Итак, когда у меня есть заданное изображение локально, как я могу заставить все другие подзадачи (цепочки) всегда выполняться на одном хосте?
Я знаю, что могу создавать определенные очереди и назначать эти очереди рабочимв каждом узле, но я не знаю, является ли это лучшим / единственным решением, и как сделать так, чтобы оно было динамичным.
С наилучшими пожеланиями.Клейсон Риос.