DarkDemon, при организации параллельного выполнения задач, независимо от типа параллельности и языка реализации, хорошей практикой является, когда поток выполнения сам отвечает за свой жизненный цикл. В Java, например, даже убрали возможность принудительно остановить поток. Если в Celery надо остановить задачу жёстко, можно использовать функцию revoke: app.control.revoke(task_id, terminate=True)
Но это может не остановить задачу находящуюся в ожидании заблокированного системного вызова. Или может привести к сбоям.
mirosas, на сколько я понял, у обоих на картах были только эти "нетрудовые доходы" и их в полном объёме заблокировали. После этого получать и выводить другие суммы, не вызывающие подозрений у банка, они наверняка могли.
Вы сравниваете торт с велосипедом. Vertx - это асинхронный фреймворк, а Spring Cloud - это модуль для запуска написанных на Spring микросервисов на облачных платформах.
toddbarry, не, Django + Celery может меньше. В этой связке соединение принимает wsgi-сервер, а он полностью синхронный, в отличии от Daphne. Если воркера 3 и уже есть три соединения, то новые соединения вообще установиться не смогут. В обычном Django вьюхи должны ответить как можно быстрее и закрыть соединение, чтобы принять новое.
toddbarry, каждый воркер - это отдельный процесс интерпретатора python. Он подписан на очередь брокера (Redis) и находится в заблокированном состоянии пока брокер что-нибудь не отдаст. Когда от брокера приходит сообщение, воркер определяет какой код надо выполнить для обработки сообщения, запускает соответствующую функцию обработчика, а потом снова переходит в блокировку. Соответственно, если через 10 соединений придут 10 запросов, Daphne передаст их все брокеру, брокер пробудит 5 процессов воркеров, каждый из них запустит своей экземпляр вьюхи и каждая вьюха сделает запрос к базе, а потом операция полностью повторится для ещё 5 запросов от брокера.