Принудительная блокировка вызова для django в gevent worker из gunicorn
У меня есть проект django, запущенный в gunicorn, который имеет gevent в качестве класса потока. Теперь для некоторых частей моей программы мне нужно вызвать redis для получения ключа. Эта часть выполняется внутри атомарного блока и должна выполняться как можно быстрее. Но когда gevent monkey патчит все библиотеки, это приводит к тому, что redis вызывается без блокировки, а другие гринлеты начинают обработку, что имеет очень низкую производительность для меня. Как я могу заставить redis или gevent вызвать эту часть блокирующей и получить ключ, не уступая гринлету?
Я использую django 3.1 и gunicorn 20.0.4 с клиентом python redis.