Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Eventlet spawn在使用thread=True进行monkey修补后不执行任何操作_Python_Multithreading_Flask_Eventlet - Fatal编程技术网

Python Eventlet spawn在使用thread=True进行monkey修补后不执行任何操作

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

我有一个基于烧瓶的程序,它(对我来说)本质上等同于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():
    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
?@temoto
import flask
是在monkey补丁之后,
thread=True
是默认值,所以我想我的代码应该可以使用它,但我不坚持:)你是对的,它必须工作,事实上在这两种情况下。