Я не настоящий програмер, так просто, балуюсь, можно сказать хобби
поэтому не знаю современных практик, но ИМХО RabbitMQ это что-то достаточно древнее и слишком могучее
Подобную задачу я решал с помощью Redis и RQ
вместо RQ с python еще celery используют, но он позамороченней
Все очень просто, твой веб сервер подключается к Redis и размещает в него задачу, вернув job_id
RQ забирает задачу на исполнение и назначает ее свободному worker-у
Задачи - это просто функции на Python которые описаны в отдельном файле
Сервер зная job_id может дергать RQ и получать статус исполнения задачи
Но сам он конечно ничего дергать не будет. Но должен предоставить такую функцию клиенту.
Ну это если нужна интерактивность.
вот здесь хорошо описана работа с RQ:
https://habr.com/en/post/354752/
В качестве бонуса в Redis еще можно любой относительно статичный контент складывать.
Например графики, которые вычисляются по запросу