2017-02-10 83 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

相關問題