我正在開發一個Django的Web應用程序,它使用Celery處理異步任務,尤其是事務性電子郵件。Django與芹菜:計劃任務(ETA)並行執行多次
在我的電子郵件任務上的一個計劃與ETA選項,但它並行執行多次導致郵件鏈,非常討厭。我無法弄清楚爲什麼。 我檢查了兩次我的Django代碼,我確信它只發布一次。
我使用Redis作爲經紀人/後端結果。
我芹菜守護程序託管在Heroku上,並通過這個命令啓動:
python manage.py celeryd -E -B --loglevel=INFO
感謝您的幫助。
編輯:我在這裏找到一個有效的解決方案感謝一個人對#celery IRC頻道:http://loose-bits.com/2010/10/distributed-task-locking-in-celery.html
一定要閱讀:http://docs.celeryproject.org/en/latest/getting-started/brokers/redis.html#caveats – asksol 2013-02-26 13:10:00
問題是我不知道我的應用程序中的最大ETA。我總是儘可能快地發佈它們,即使在將來也是如此(不經常發生)。要做到這一點,我應該更改我的應用程序設計,將其存儲在數據庫中,並且有一個爬蟲程序可以在1小時前發佈它們例如.. – 2013-02-26 18:26:21