LINUX.ORG.RU

История изменений

Исправление pod, (текущая версия) :

Вы так говорите, будто питон это только веб, фласк и джанго всякое. Например, сервис, который получает запросы по unix socket. Да даже в том же вебе - есть у меня запрос с апи, которое выполняется ненулевое количество время, и мне нельзя запускать две такие задачи одновременно.

В golang я это сделал просто - глобальный map, защищаешь его mutex-ом, при добавлении в map проверяешь, если ли там запись с нужным ключём, и если нужно - футбольишь клиента\ставишь в очередь\игнорируешь.

А изначально я по-быстрому пытался накидать это на фласке. А в нём негде хранить такой глобальный стэйт, пришлось рядом ставить redis. Или городить варианты с отдельными воркерами (celery, или всякое поверх того же redis/mq).

Исходная версия pod, :

Вы так говорите, будто питон это только веб, фласк и джанго всякое. Например, сервис, который получает запросы по unix socket. Да даже в том же вебе - есть у меня запрос с апи, которое выполняется ненулевое количество время, и мне нельзя запускать две такие задачи одновременно.

В golang я это сделал просто - глобальный map, защищаешь его mutex-ом, при добавлении в map проверяешь, если ли там запись с нужным ключём, и если нужно - футбольишь клиента\ставишь в очередь\игнорируешь.

А изначально я по-быстрому пытался накидать это на фласке. А в нём негде хранить такой глобальный стэйт, пришлось рядом ставить redis. Или городить варианты с отдельными воркерами (celery, или всякое поверх того redis/mq).