我m working on a project and can
t解決,可能是一個簡單的問題。運行任務模型datetime在Django
我在模型中有一些日期時間,我需要在當前時間到達模型日期時間時運行一些代碼,所以要說它是一個模型中提供的sheduler,還需要添加一些像每個日,年,...
我不知道是否有一個簡單的不錯的解決方案。
感謝向前....
我m working on a project and can
t解決,可能是一個簡單的問題。運行任務模型datetime在Django
我在模型中有一些日期時間,我需要在當前時間到達模型日期時間時運行一些代碼,所以要說它是一個模型中提供的sheduler,還需要添加一些像每個日,年,...
我不知道是否有一個簡單的不錯的解決方案。
感謝向前....
我想你可以有兩種解決方案。
最簡單的方法是創建管理命令來執行您需要執行的操作,並使用django.utils.timezone.now
作爲起始值來過濾模型中的日期時間。如你所願像
然後你就可以在Linux上安裝cron來當你需要它運行管理命令,您可以創建許多命令。
另一種解決方案是使用任務隊列工具,如Celery
或RQ
。 芹菜需要配置,您還必須設置您的服務器運行Celery
和Celery beat schedule
在特定時間運行任務。如果你沒有任何具體的要求和需求只是運行了幾個任務,我會用cron
,而不是任何任務隊列
更多任務隊列軟件在這裏:https://www.fullstackpython.com/task-queues.html
I`ve發現非常有用article。一切工作正常,但PyCharm檢測到故障導入這些
from celery.task.schedules import crontab
from celery.decorators import periodic_task
但它仍然沒有提供服務器運行過程中的錯誤。
由celery.schedules替換爲celery.task import crontab import periodic_task –
嘗試[芹菜](http://docs.celeryproject.org/en/latest/django/first-steps-with-django.html) –
我聽說過它,你可以提供一個簡短的例子 –
@ E.Tretyakov如果你閱讀芹菜的文檔,你可以找到如何設置芹菜。有一個簡單的例子可以提供如何定期運行任務。 –