2009-10-26 26 views
0

假設我有1000個工作要重複執行,您如何建議我在Google AppEngine上構建我的系統?在AppEngine上交錯作業的策略?

我需要能夠在有效擴展系統的同時添加更多作業。計劃任務是課程解決方案以及任務隊列的一部分,但我正在尋找更多的見解,以便最好地利用這些資源。

注意:「作業」之間沒有依賴關係。

+0

我不明白這個問題。這些工作之間是否存在依賴關係?運行所需的時間? – 2009-10-26 20:40:33

+0

在GAE中,每個計劃任務被限制在〜30秒。我期望我的每個「工作」都是30秒。 – jldupont 2009-10-26 21:08:14

回答

0

根據您提供的描述很少,很難說。如果您使用的是Python,您可能需要使用Task Queue,也可能使用deferred library。所有這些都需要使用API​​來排列任務。

如果你談論的是有許多重複的任務,你有兩個選擇:

  • 開始手動任務隊列的第一個任務,並使用「鏈接」讓每個調用排隊下一個具有適當的時間間隔。
  • 將每個計劃存儲在數據存儲中。定期掃描任何已達到其ETA的任務;爲每個任務啓動任務隊列任務,更新下一次運行的ETA。
+0

感謝Nick!我明白你的觀點,我不夠具體。 – jldupont 2009-10-29 10:19:24

0

我認爲你可以使用Cron Jobs

問候。

+0

是計劃任務是解決方案的一部分,但我正在尋找更多的架構級別建議。 – jldupont 2009-10-26 15:18:43

+0

什麼是「架構級」問題? – OscarRyz 2009-10-26 21:14:25

+0

如果您想繞過30秒的限制,您可以創建一個虛擬JSP,使AJAX調用RESTful「任務」(我的意思是可中斷並可重啓) – ATorras 2009-10-27 10:03:05