使用Celery和(如果有要求的話)rabbitmq broker和django作爲結果後端。獲取某些芹菜任務,只在特定時間運行
我有成千上萬的任務,因此完成它們需要幾周的時間。但是,其中一些我只想在一天中的某幾個小時之間運行。這是因爲它們涉及從明確請求此行爲的公用服務器下載文件。每個任務需要幾分鐘才能完成。如何最好地去做這件事?
使用Celery和(如果有要求的話)rabbitmq broker和django作爲結果後端。獲取某些芹菜任務,只在特定時間運行
我有成千上萬的任務,因此完成它們需要幾周的時間。但是,其中一些我只想在一天中的某幾個小時之間運行。這是因爲它們涉及從明確請求此行爲的公用服務器下載文件。每個任務需要幾分鐘才能完成。如何最好地去做這件事?
您可以使用Crontab schedules來設置您的需要。
只需在芹菜任務中檢查時間,然後稍後嘗試即可:http://docs.celeryproject.org/en/latest/userguide/tasks.html#using-a-custom-retry-delay –
Rachel - 我擔心會有效率低下。我們可能會在錯誤的時間重複執行相同的任務,例如,如果Celery通過100,000個任務並重新安排它們以備後用。當後來到來時,沒有足夠的時間來完成所有100,000個,所以他們中的大部分都必須重新安排。然後再次。 – Ben