0
ImはDjango 1.10とCeleryを使用してアプリケーションを作成しています。 Djangoで開始および停止できるループをセロリで作成しようとしています。問題は、セロリは、通常> 1作業スレッドで実行され、そして_runは、スレッド間でアクセス可能ではないことですセロリでグローバル変数を使用する:最適なアプローチは何ですか?
_run = False
def do_work():
global _run
while _run:
# Do something
@app.task
def start():
global _run
_run = True
do_work()
@app.task
def stop():
global _run
_run = False
:
私の考えでは、このようなもの(非常にシンプルに)見えます。
質問:機能を達成するための最良の方法はありますか? 私はデータベース変数を設定することを考えていますが、私はそれが最良の方法ではないことを恐れています。
これは、XYの質問のように思えます。なぜループが必要なのですか? –
ループは外部APIからデータをポーリングし、システムデータベースにデータを取り込みます。私はあなたが「XY質問」を意味するのか理解していません。 – Vingtoft
なぜセロリの仕事をしていますか?間違ったユースケースのように思える – Anentropic