• Как правильно организовать роутинг в rabbitmq?

    @napa3um
    Нормально. Отдельные очереди на каждого потребителя нужны для гарантии доставки, иначе брокеру было бы неясно, когда можно удалить сообщение из общей очереди (забрали ли его все потребители). Т.е., мультиплицирование одного запроса на множество потребителей нужно осуществлять в логике приложения, а не в логике брокера (приложение должно знать о конфигурации ролей всех потребителей, а брокеру знать этого не нужно).

    stackoverflow.com/questions/10620976/rabbitmq-amqp...
    Ответ написан
    Комментировать
  • Как правильно форкнуть процесс в flask?

    @thenno
    Проектирую, разрабатываю, преподаю.
    Для начала, в Python есть более вменяемые способы управления процессами - посмотрите модуль multiprocess.

    API, как можно догадаться, должен отвечать моментально.

    Догадаться не получается, на самом деле:) Очень непонятно, зачем нужна такая логика - сначала ответить клиенту 'ok', а только потом закончить выполнять операцию. Это логически неверно и сбивает с толку в 99% случаев. По-хорошему api должно принять запрос, выполнить действие (хоть меньше секунды, хоть все 90 секунд), а затем ответить клиенту с успехом или нет.

    Главное здесь - грамотно настроить nginx (worker_connections и timeout'ы как минимум, возможно, в официальной документации найдется что-то более годное), чтобы в случае множества медленных запросов сервис продолжал нормально работать.
    Ответ написан
    2 комментария