2012-06-18 101 views
4

有沒有辦法動態確定當前正在執行的任務是標準http請求還是TaskQueue?Google App Engine:確定當前請求是否爲任務隊列

在我的請求處理程序的某些部分,我創建了一些urlfetches。如果請求是一個標準的http請求,我希望URL抓取的超時延遲很短,如果它是一個TaskQueue,則延長。

+0

有趣。我想我會包裝創建一個TaskQueue請求添加一個額外的布爾值kwargs的代碼。可能是凌亂的。 –

回答

7

接下面的HTTP標頭中的任一個:

  1. X-AppEngine-QueueName,隊列的名稱(可能默認)
  2. X-AppEngine-TaskName,任務的名稱,或系統生成的唯一的ID,如果沒有名稱被指定爲
  3. X-AppEngine-TaskRetryCount,此任務已被重試的次數;對於第一次嘗試,這個值是0
  4. X-AppEngine-TaskETA,任務的目標執行時間,自1月1日1970年

標準HTTP請求將不會有這些頭以微秒指定。

2

任務請求始終包含特定的set of HTTP headers,您可以檢查該請求。

+1

cron作業也是一樣..'X-AppEngine-Cron:true' https://developers.google.com/appengine/docs/python/config/cron#Securing_URLs_for_Cron – Lipis

相關問題