我有一個後端服務的拉隊列,當隊列爲空時,我需要觸發另一個腳本。Google App Engine任務隊列獲取統計失敗
目前我在從該隊列租用任務的方法中使用非常粗略的檢測,以便如果返回的任務列表爲空,則我們認爲沒有更多的任務要租用並觸發下一步。然而,雖然這在大多數情況下都是有效的,但即使有可用任務,偶爾租約請求似乎也會返回一個空列表。
無論如何,更好的方式來做它我認爲是使用Queue的fetch_statistics方法。通過這種方式,腳本可以監控拉取隊列中正在發生的事情,並知道隊列中沒有剩餘物品。現在這顯然可以通過REST api獲得隊列,但是當我在內部使用這些時,使用它似乎相當落後。
因此,我正在調用Queue.fetch_statistics(),但會引發錯誤。我試着把陳述的錯誤放入Google,但它什麼也沒有返回。在這裏相同的stackoverflow。
它總是拋出:
AttributeError: type object 'QueueStatistics' has no attribute '_QueueStatistics__TranslateError'
我的代碼是:
q = taskqueue.Queue('reporting-pull')
try:
logging.debug(q.fetch_statistics())
except Exception, e:
logging.exception(e)
任何人都可以揭示出這個任意光?我在這裏做一些非常愚蠢的事情?
AFAIK [隊列](http://code.google.com/appengine/docs/python/taskqueue/queues.html)沒有fetch_statistics方法 – 2012-03-21 11:48:13
它確實在代碼sdk中,但它確實它沒有記錄。它是爲REST API服務使用JSON化的方法。在任務隊列中。PY線1810 '高清fetch_statistics(個體經營): 「」「獲得關於這個隊列中的當前信息 返回:關於這個隊列 一個QueueStatistics實例包含信息 ‘’」 回報QueueStatistics.fetch(個體經營) ' 另外拋出的異常涉及從方法返回的對象,而不是方法本身不存在。運行時可能稍有不同。 – 2012-03-21 13:18:03
與無證api一起工作,任何時候提供者可以切斷你並破壞你的時刻並不是最明智的事情。 – 2012-03-21 14:17:24