1. 報錯資訊
1.
def _connparams(self, async=False, _r210_options=( ^ SyntaxError: invalid syntax
原因: async 在 python3.7已經是關鍵字了,但是celery4.4.6版本沒有更新導致的,此問題將在下一個版本修復,
解決辦法: 將celery檔案中的async命名為其他變數名/ 或者降低python版本3.7之下的
2.
from kombu.async.timer import Entry, Timer as Schedule, to_timestamp, logger ^ SyntaxError: invalid synta
同上
3. 啟動worker 后執行task報錯
tasks, accept, hostname = _loc ValueError: not enough values to unpack (expected 3, got 0)
解決辦法:在win10環境下運行celery4.x會出現此問題,先通過pip install eventlet安裝eventlet,然后啟動worker時添加一個引數:
celery worker <module> worker -l INFO -P eventlet
4. 使用redis作為borker時
ERROR/MainProcess] Unrecoverable error: AttributeError("'str' object has no attribute 'items'",)-bug
原因: redis版本過高當時redis版本是3.5.3
解決辦法:降低redis版本到2.10.6
5. celery定時任務,在運行生產者和作業者后,定時任務不執行,不報錯,看不到任何情況,
原因: 運行命令
celery -A 任務檔案名稱 beat -l info
celery -A 任務檔案名稱 worker -l info
-l info 的列印資訊,不會列印資訊,應使用測驗debug
解決辦法: celery -A 任務檔案名稱 beat -l debug
celery -A 任務檔案名稱 worker -l debug
6. celery執行異步任務的時候,不能傳輸物件
原因:因為異步執行的時候,celery執行python代碼,物件沒有快取,所以celery找不到物件
7. celery執行定時任務的時候,需要傳引數,引數有限制,只能傳int型別和str型別
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/89927.html
標籤:Python
下一篇:頁眉頁腳的設定
