2017-02-10 82 views
0

我正在关注this tutorial以创建一个简单的Flask应用程序来启动带有http请求的长时间运行的Celery任务。如何将配置参数传递给Flask应用程序中的Celery任务?

我想将一些配置参数(例如db连接字符串,api键等)传递给任务。这些来自配置文件,而不是来自请求。 这样做的最佳方式是什么?我如何从任务中访问这些参数?

+0

按答案。它们的配置方式与Flask应用程序完全相同。 –

回答

3

你可以从他们瓶中添加到您的Flask config,进口CURRENT_APP和使用

current_app.config['parameter'] 
+0

@suever它们在应用程序上下文中运行。这是'ContextTask'的全部重点。 –

+0

@JoeDoherty对不起,我错过了他们正在使用芹菜任务的定制,在这种情况下你是对的。 – Suever

+0

我得到配置文件并将内容添加到app.config,然后在if __name__ ==“__main__”:块中添加celery.conf。但是,如果我在任务中打印app.config,最近添加的参数丢失。 – Balint

相关问题