簡體   English   中英

芹菜中無法散列的類型“ dict”

[英]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])

您可以查看文檔http://celery.readthedocs.org/en/latest/reference/celery.app.task.html#celery.app.task.Task.apply_async

使用celery multi start命令將celery作為守護程序運行時,出現了同樣的錯誤。 奇怪的是,將我的一個隊列的名稱從q3更改為q4似乎可以解決問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM