2015-11-26 36 views
1

我正在使用芹菜的FLASK应用程序。其中,我使用行app.run()运行该应用程序。如果我将其更改为以下在FLASK应用程序中同时运行芹菜节拍和工作人员

if __name__ == '__main__': 

application = current_app._get_current_object() 

worker = worker.worker(app=application) 
beat = beat.beat(app=application) 

options = { 
    'broker': app.config['CELERY_BROKER_URL'], 
    'loglevel': 'INFO', 
    'traceback': True, 
} 

worker.run(**options) 
beat.run(**options) 
app.run() 

负责运行应用程序和工作人员,但芹菜拍不运行,直到我关闭工作。有什么办法可以同时运行吗?可能以某种方式将-B标志添加到选项设置中?我很感谢在这件事上的任何帮助。

回答

2

如果添加“击败” =真到你的选择,当你调用worker.run(**选项),它会给节拍任务的工人:

if __name__ == '__main__': 

application = current_app._get_current_object() 

worker = worker.worker(app=application) 

options = { 
    'broker': app.config['CELERY_BROKER_URL'], 
    'loglevel': 'INFO', 
    'traceback': True, 
    'beat': True, 
} 

worker.run(**options) 
app.run() 

应该停止跳动当工人停下来时。

相关问题