App Engine-Mapper APIを使用したタスクキューの再試行回数

google-app-engine mapreduce task-queue
App Engine-Mapper APIを使用したタスクキューの再試行回数

これが私がやろうとしていることです。新しいMapper APIでMapReduceジョブを設定します。 これは基本的には正常に機能します。 問題は、タスクキューが失敗したすべてのタスクを再試行することです。 しかし、実際、私は彼にそうさせたくない。 キューからタスクを削除する方法、またはタスクが正常に完了したことを伝える方法はありますか? おそらく200ステータスコードを渡す?

X-Appengine-Taskretrycountを取得できることは知っていますが、タスクを停止する方法がわからないため、実際には役に立ちません。 私はトライで「パス」を使用してみました.. ブロックを除きますが、それも機能しませんでした。

どんな助けでも大いに感謝されるでしょう:)

ありがとう、クリス

  1  0


ベストアンサー

2


タスクハンドラでこれを行います

class yourTaskWorker(webapp.RequestHandler):
    def post(self):
        logging.info('yourTaskWorker (post)...')
        if int(self.request.headers['X-Appengine-Taskretrycount']) == 0:
            logging.info('running task...')
            # call whatever functions you want here
        else:
            logging.info('this task failed before, not going to retry.')
            # obviously call nothing here, the task will "pass" without error and go away

お役に立てれば!!

1


タイトルとURLをコピーしました