【问题标题】:how to manually set a task to run in a gae queue for the second time如何手动设置任务第二次在 gae 队列中运行
【发布时间】:2012-09-02 14:55:04
【问题描述】:

我有一个在 GAE 队列中运行的任务。 根据我的逻辑,我想确定任务是否会再次运行。

我不希望它被队列正常执行然后再次放入队列中 因为我希望能够检查“X-AppEngine-TaskRetryCount” 尝试多次后退出尝试。

据我了解,似乎唯一会重新执行任务的情况是发生内部 GAE 错误(或者如果我的代码在“DeadlineExceededException”情况下花费的时间过长..(而且我没有想把代码“人质”这么长时间:))

如何以 GAE 设置 X-AppEngine-TaskRetryCount ++ 的方式将任务重新输入队列??

【问题讨论】:

    标签: google-app-engine queue task


    【解决方案1】:

    您可以在 python 中使用 self.error() 以编程方式重试/重新启动任务。 来自文档:App 引擎通过返回 200–299 范围之外的任何 HTTP 状态代码来重试任务

    在任务开始时,您可以使用以下方法测试重试次数:

    retries = int(self.request.headers['X-Appengine-Taskretrycount'])
    if retries < 10 :
        self.error(409)
        return
    

    【讨论】:

      猜你喜欢
      • 2011-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多