2011-03-15 71 views
3

我在GAE中使用Task Queue爲我的應用程序執行一些後臺工作。我已經知道特定任務有10分鐘的時間限制。我擔心的是如何在本地環境中測試這個東西。我嘗試了線程睡眠,但它沒有拋出任何異常,如谷歌應用程序引擎文檔中提到的。此時間限制也是由CPU時間或實際時間來衡量的。Google App Engine中任務隊列的時間限制

謝謝。

+0

您可以在10分鐘內在您的機器上完成的任務與您在App Engine上10分鐘內完成的任務完全不同。 – 2011-03-15 16:56:08

回答

2

時間以掛鐘時間計算。開發服務器沒有強制實施時間限制,雖然目前還不清楚爲什麼你要測試它,因爲你的測試不太可能像在生產中一樣執行,所以試圖猜測你可以在在開發服務器上10分鐘內完成10分鐘的生產服務器將會失敗。

+3

您可能希望通過在不同點強制超時失敗來測試恢復機制。 – 2011-03-15 12:56:39

+0

實際上我想知道如何通過捕獲拋出的異常來使我的應用程序失敗,因爲它超越了時間限制。你知道我應該在哪裏發現這個異常? – dalchand 2011-03-15 13:40:04

+0

你不能抓住它。你沒時間了,所以你無能爲力。你應該嘗試週期性地檢查你離開了多少時間。 – Luca 2014-12-05 02:20:54

1

對於您的開發服務器,啓動任務時啓動計時器。如果您達到了10分鐘的掛鐘時間,請繼續檢查您的代碼。當你到達時,拋出DeadlineExceededError。在類處理程序中使用try和except語句會更好,它會調用代碼的特定函數。

相關問題