Python Eventlet spawn在使用thread=True进行monkey修补后不执行任何操作
我有一个基于烧瓶的程序,它(对我来说)本质上等同于SO answer(来源:)中的示例,简化为:Python Eventlet spawn在使用thread=True进行monkey修补后不执行任何操作,python,multithreading,flask,eventlet,Python,Multithreading,Flask,Eventlet,我有一个基于烧瓶的程序,它(对我来说)本质上等同于SO answer(来源:)中的示例,简化为: eventlet.monkey_patch(thread=False) # change to True to break @app.route('/', methods=['GET', 'POST']) def api(): eventlet.greenthread.spawn_n(do_some_job) # is not called def main(): a
eventlet.monkey_patch(thread=False) # change to True to break
@app.route('/', methods=['GET', 'POST'])
def api():
eventlet.greenthread.spawn_n(do_some_job) # is not called
def main():
app.run()
当我使用eventlet.monkey\u补丁(thread=False)时,一切都很好。当我设置thread=True时,这里的eventlet.greenthread.spawn(例如)什么也不做,也就是说,控件永远不会屈服于它,尽管Flask应该已经修补过
有什么想法吗
Eventlet 0.15.2、Python 2.7.5、Flask 0.10.1在monkey_补丁之前或之后,您有导入Flask的
吗?你需要thread=True
?@temotoimport flask
是在monkey补丁之后,thread=True
是默认值,所以我想我的代码应该可以使用它,但我不坚持:)你是对的,它必须工作,事实上在这两种情况下。