我想問你在django應用程序中使用芹菜和redis的情況。我正在學習芹菜約2天,我仍然有點困惑:/我已經安裝了芹菜和redis,它工作得很好。我的問題是,我希望用戶創建,更新和暫停週期性任務。我讀過這篇文章 - http://kindshofer.net/2016/11/19/dynamically_adding_a_periodic_task_to_celery.html和這個問題 - How to dynamically add/remove periodic tasks to Celery (celerybeat)其他文章loooot,但沒有這兩個有用),看來,我需要使用django芹菜。我認爲這是一個很好的選擇,但後來我讀過(這裏 - >https://github.com/celery/django-celery),django-celery使用django結果後端(它意味着 - 我的db,rigth?並且我想使用redis!)。 redis可以使用django-芹菜嗎?也許用django-芹菜我不需要使用redis?也許有一些讓用戶創建定期任務的其他方式?我真的需要我的定期任務是快速和輕量級的,因爲會有很多它們,並且他們需要完美無瑕(所以我認爲我需要將它們推到別的地方)。 我真的很感激任何建議!讓用戶創建芹菜週期性任務
0
A
回答
0
我認爲你有些混淆...... Celery需要Redit服務器作爲消息代理,這2件事必須在你的系統中全局安裝..爲了將這2個工具與你安裝的django集成(最好的選擇是在您的虛擬環境中)django_celery_beat用於使用crontab和django_celery_results定期執行任務,以便使用Django存儲Celery任務...
當然,可以讓用戶啓動並定製定期任務..您可以(在你的模板中,使用表單)接受用戶輸入,並在你的視圖中獲取該輸入並將其傳遞給你的tasks.py文件中的一個函數。在你的tasks.py中,你可以創建一個執行任務的函數!
本指南是非常有用的: https://github.com/codingforentrepreneurs/Guides/blob/master/all/Celery_Redis_with_Django.md
1
快速,重量輕,Redis的== Python RQ。但是,停工可能是一個問題。
在Celery問題上:結果後端只存儲結果。它不處理隊列。但即便如此,你可以將結果發送到Redis的:
CELERY_RESULT_BACKEND = 'django-cache'
配置cache:
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/1",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
}
}
}
但是 - 使用django-db
後端的原因是,它可以創建在結果查詢集。這通常更有用,因爲結果顯示在視圖中,而作業通常不是。能夠聚合結果(如平均作業執行時間)並創建圖形,在Django中非常有用,並且使用ORM可以更容易地完成,然後使用關鍵值/值存儲對Python進行排序/聚合。
相關問題
- 1. 芹菜Django的週期性任務
- 2. 在芹菜4.0的週期性任務
- 3. 安裝芹菜週期性任務
- 4. 執行其他芹菜任務不工作的芹菜週期性任務
- 5. 如何獲得芹菜所有任務和週期性任務
- 6. 芹菜週期性任務沒有得到執行任務.py
- 7. Django芹菜週期性任務沒有運行(Heroku)?
- 8. 週期性任務不是在Django芹菜
- 9. 如何在芹菜中終止週期性任務?
- 10. 僅在一臺機器上運行芹菜週期性任務
- 11. 刪除芹菜中的任務/週期任務
- 12. 如何創建週期性任務
- 13. 如何使運行與芹菜週期性任務的子任務?
- 14. 的Django +芹菜:如何鏈任務與參數週期性任務
- 15. 蟒蛇創建芹菜任務作業
- 16. 芹菜任務的屬性
- 17. 芹菜任務
- 18. 芹菜任務
- 19. 芹菜父母任務的生命週期是什麼?
- 20. 使用週期性任務的應用程序服務器上的芹菜,無需執行重複的任務
- 21. 讓用戶啓動芹菜任務,並讓任務完成時讓用戶知道
- 22. 芹菜創建幾個任務的任務
- 23. 芹菜,從任務內創建子任務:收到類型爲
- 24. 當app/tasks.py導入模型時,芹菜擊敗週期性任務失敗
- 25. 是否可以對芹菜週期性任務運行單元測試?
- 26. 動態更改芹菜任務的週期性間隔運行時
- 27. 推芹菜任務
- 28. 芹菜鏈任務
- 29. 芹菜定期任務不執行
- 30. 芹菜定期任務爲asnyc上Django