我有一个后端服务的拉队列,当队列为空时,我需要触发另一个脚本。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