0
我試圖去清理一些東西后,我殺了一個正在運行的任務在芹菜。目前,我正在打2個問題:在Celery + Python中,如何從task_revoked函數訪問任務參數?
1)任務吊銷函數體裏面,我怎麼可以訪問該任務調用該函數的參數:因此,例如,如果該任務被定義爲:
@app.task()
def foo(bar, baz):
pass
我將如何訪問bar
和baz
裏面的task_revoked.connect
代碼?
2)我想殺掉一個任務,只有當它的狀態不是X時,這意味着一方面檢查任務,另一方面設置狀態。我猜可以完成狀態檢查,但是我很難在頭腦中圍繞任務函數體內的上下文。
如果我foo定義是這樣的:
@app.task(bound=True)
def foo(self, bar, baz):
pass
和發言權調用它....瓶像foo(bar, baz)
,然後我會得到一個錯誤的第三個參數的預期,這意味着做裝飾不通過self參數自動添加任何上下文。
應用提前
的東西是芹菜文檔顯示某種課堂互動的,而是給比其他任何更多的細節:http://docs.celeryproject.org/en/master/userguide/tasks.html#context。如果我試圖在一個類中推送我的函數並調用它們,那麼這個自我不會構成一個狀態參數,這表明裝飾器不會添加任何額外的東西 –
@omu_negru看起來您的代碼中存在拼寫錯誤,檢查更新的答案。 – ChillarAnand
實際上做到了。非常感謝,不會發現那個 –