2011-03-25 170 views
1

我的appengine應用程序經常拋出這個異常。 這是因爲appengine應用程序在中國被阻止,所以我使用第三方服務繞過阻塞。我的應用程序需要調用中國的API來滿足請求。我知道很多人都沒有這個問題,請幫忙。 我知道限制是30秒,我不能讓谷歌延長它。google.appengine.runtime.DeadlineExceededError解決方案?

+1

是否需要在Web處理程序中調用API調用?你能把這個任務移動到一個任務隊列嗎? – systempuntoout 2011-03-25 08:41:54

+0

當您將它移動到任務隊列時,您會在引發DeadlineExceededError之前獲得大約10分鐘的計算時間 – Sam 2011-03-25 12:38:11

回答

1

您可以使用Task Queue來執行實際請求,並讓客戶端輪詢結果或使用Channel API。這會將您的限制增加到10分鐘而不是30秒。

所以,例如:

  • 瀏覽器經由AJAX使得請求
  • Server返回通道令牌和序幕任務
  • 瀏覽器打開信道,並等待響應
  • 任務提供了通過信道瀏覽器響應