Задача слишком пространно описана
Однако по признакам она похожа на очередь задач с воркерами
Очередь мониторит состояние воркеров, управляет отправкой/получением/сохранением информации для воркеров
Воркер код, который занимает получением и обработкой, которое занимает продолжительное время
Очередь при наличии свободного воркера кидает ему задание на обработку
Воркеры масштабируются простым добавлением железа
Что выбрать из очередей
Для начала советуют селеру
https://stackoverflow.com/questions/48250676/what-...
Я посоветую почитать get-started и выбрать то что понравится
Вначале не смотрите на производительность
Также почитайте про Kafka
https://content.pivotal.io/blog/understanding-when...
Джанга имеет поддержку селеры из коробки
https://docs.celeryproject.org/en/latest/django/fi...
Пояснять про то, как делать таски я не буду - доки у селеры отличные
Для общего понимания, как работать с zmq-django
https://habr.com/ru/post/181037/
(Большая часть работы делается руками)