2014-01-13 34 views
0

在我的django項目中,我需要從大約50個遠程服務器收集數據到本地數據庫,每隔30秒或每隔30秒。雖然它可以在遠程服務器中使用crontab,但我想在項目中執行此操作。首先,我認爲django芹菜。但是,它在異步處理中表現良好,並且收集數據任務不能被延遲。因此我認爲,這可能不適合。如果我這樣做使用Python的計時器,我需要更多的關注。請原諒我對python和django的無知。我會欣賞其他建議或想法。非常感謝我應該如何在django中安排我的任務

+5

可能這會幫助http://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html? –

+0

如果數據每分鐘收集一次,我希望數據可以在任務開始後的一分鐘內返回。當然,任務通常可以在一分鐘內完成。我擔心芹菜異步處理的延遲。 – user237610

+0

如果我明白你的權利,你有任務執行的時間限制或沒有? –

回答

0

基本上你可以使用Celery的preiodic任務和expire選項,這使你確定你的任務不會被執行兩次。

此外,你可以運行自己的腳本與無限循環將運行計算。如果您的計算運行時間超過一分鐘,則可以使用eventlet或gevent生成任務。其他選項可以從該腳本中創建芹菜任務,並確保您的任務每N秒執行一次,如您所願。

相關問題