[英]unhashable type 'dict' in celery
我只是編寫了一個簡單的celery代碼,只需將兩個數字相加並使用celery ..使用以下代碼進行打印即可:
from scheduling.celery import app
*@app.task
def add(x, y):
print("sum is "+str(x+y))*
但是問題是當我使用以下命令調用此函數時:
*add.apply_async((3, 4))*
有一個引發異常錯誤,說
> Task
> celerytasktest.simplecelerytask.add[bafe33b6-3329-406a-b5c0-43eee9228273]
> raised unexpected: TypeError("unhashable type: 'dict'",)
我嘗試了兩天以找出問題所在,但失敗了。
我正在使用芹菜版本3.1.9
提前致謝
您應該這樣調用函數:
function.apply_async(
args = [param1, param2, ...],
kwargs = {k : v}, ...})
使用您的add函數,該語句將為:
add.apply_async(args = [3,4])
使用celery multi start命令將celery作為守護程序運行時,出現了同樣的錯誤。 奇怪的是,將我的一個隊列的名稱從q3更改為q4似乎可以解決問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.