4 ms·
Gevent IMO is more of a having-discipline footgun than a fundamental one: it makes itself so easy to use, without sprinkling asyncs in your day-to-day code, tha
by btown 2y ago
Gevent IMO is more of a having-discipline footgun than a fundamental one: it makes itself so easy to use, without sprinkling asyncs in your day-to-day code, that you can forget that it has the same problem as explicit Python asyncio… namely, that if you burn CPU in a tight loop without any IO or logging or anything else, you’ll never yield to the event loop, and will block all concurrency until you’re done.
Detecting this might require external health checks and the like. And runaway regexes can trigger this too, not just tight loops. But those are also problems that asyncio has!
The only other one is that you’ll want to think about forking models with servers like gunicorn, and patch at the right time - but this is a one-time thing to figure out per project, and documentation is quite good now.