История изменений
Исправление pod, (текущая версия) :
Вы так говорите, будто питон это только веб, фласк и джанго всякое. Например, сервис, который получает запросы по unix socket. Да даже в том же вебе - есть у меня запрос с апи, которое выполняется ненулевое количество время, и мне нельзя запускать две такие задачи одновременно.
В golang я это сделал просто - глобальный map, защищаешь его mutex-ом, при добавлении в map проверяешь, если ли там запись с нужным ключём, и если нужно - футбольишь клиента\ставишь в очередь\игнорируешь.
А изначально я по-быстрому пытался накидать это на фласке. А в нём негде хранить такой глобальный стэйт, пришлось рядом ставить redis. Или городить варианты с отдельными воркерами (celery, или всякое поверх того же redis/mq).
Исходная версия pod, :
Вы так говорите, будто питон это только веб, фласк и джанго всякое. Например, сервис, который получает запросы по unix socket. Да даже в том же вебе - есть у меня запрос с апи, которое выполняется ненулевое количество время, и мне нельзя запускать две такие задачи одновременно.
В golang я это сделал просто - глобальный map, защищаешь его mutex-ом, при добавлении в map проверяешь, если ли там запись с нужным ключём, и если нужно - футбольишь клиента\ставишь в очередь\игнорируешь.
А изначально я по-быстрому пытался накидать это на фласке. А в нём негде хранить такой глобальный стэйт, пришлось рядом ставить redis. Или городить варианты с отдельными воркерами (celery, или всякое поверх того redis/mq).