Я работаю над продуктом, который требует сканирования API, вычисления и выдачи результатов.
В настоящее время я использую Django в качестве продукта. Я подробно рассмотрел документацию по Celery и RabbitMQ и очередям в целом.
То, чего я хочу достичь, это:
1. Мониторинг / администрирование каждого API вызывается для разных поставщиков.
2. Несколько очередей с несколькими потребителями.
3. Перепланирование в реальном времени в очередях.
Основная проблема здесь заключается в том, что во всем нашем цикле основным трудоемким процессом являются запросы API, занимающие от 1 до 20 секунд. Это хорошая идея использовать сельдерей / RabbitMQ. Я не могу использовать очередь Кролика с подтверждением, чтобы сделать запрос API и ждать, пока он не закончится, в то время как другие ожидают в очередях, очереди без подтверждения не помогут, так как отслеживать неудавшиеся запросы и повторять их будет невозможно.
Итак, как бы я использовал очереди, чтобы обойти эту проблему?
Секунда Для мониторинга я посмотрел на этот http://www.rabbitmq.com/management.html, плагин мониторинга n управления, но я не могу найти способ получить информацию об обработанных сообщениях в очереди, что очень важно в моем случае.
Есть ли способ получить эту информацию для RabbitMQ.
Должен ли я использовать любую другую очередь, такую как ActiveMQ или ZeroMQ, для улучшения подключаемых модулей мониторинга, особенно для получения информации об обработанных сообщениях из очереди.