标签: python flask gevent
我正在使用gevent with flask和pymongo。我有一个API端点,我需要循环来自pymongo的大量结果来进行一些CPU计算(速度均值,地理坐标之间的距离......)。
我想知道gevent是否提供了一些功能来处理这种长时间的阻塞操作。我似乎可以在循环中使用gevent.sleep来触发greenlet之间的上下文切换,但它看起来不是很干净。
gevent.sleep
答案 0 :(得分:0)
使用gevent.sleep(0)屈服于集线器(上下文切换的意思)实际上是完全合法的,也是最佳选择。这很简洁,也是文档gevent doc中提到的方式。
gevent.sleep(0)