不是在談論delay
方法。如何使用Celery延遲任務?
我希望能夠得到一個任務,因爲它是task_id並且在執行之前即時更改它的ETA。
現在我必須取消它,並重新安排一個。如果預定的過程涉及很多東西,則會出現麻煩。
不是在談論delay
方法。如何使用Celery延遲任務?
我希望能夠得到一個任務,因爲它是task_id並且在執行之前即時更改它的ETA。
現在我必須取消它,並重新安排一個。如果預定的過程涉及很多東西,則會出現麻煩。
你應該在芹菜/任務隊列外存儲一些'暫停'值。我用芹菜做郵件。我可以通過在memcache或mysql中設置值來暫停系統的某些部分。這些任務會確保在執行任務之前查詢外部資源。如果它意味着被暫停,它會設置一個task.retry(),使它經歷重試延遲時間等。
用於從隊列中刪除任務。如果這只是你的建議,contrib AbortableTask已經做到了。 – 2010-07-28 23:20:36
假設您在DatabaseScheduler中使用了django-celery和PeriodicTask,則需要修改PeriodicTask間隔或crontab並保存它。如果您的任務由間隔定義,請修改last_run_at
屬性。
您運行與數據庫調度celerybeat:
python manage.py celerybeat -S djcelery.schedulers.DatabaseScheduler
問題是間隔不均勻,所以很不幸我沒有使用PeriodicTask。我需要完成問題中指定的內容。 – julkiewicz 2011-05-20 03:28:49
所以你能做到這到底是誰? – julkiewicz 2011-05-14 05:38:12
只要您將任務定義爲「吸收卡路里」,您就可以使用*芹菜*延遲任何任務。 ;-) http://wiki.answers.com/Q/Is_it_true_that_celery_has_negative_calories – Sam 2011-05-19 06:30:21
@Sam lold,thx。 – julkiewicz 2011-05-20 05:59:21