0

GAEキューで実行されるタスクがあります。私の論理によれば、タスクが再度実行されるかどうかを判断したいと思います。

「X-AppEngine-TaskRetryCount」をチェックして、何度か試行した後に試行を終了できるようにしたいので、キューによって通常どおりに実行されてから、再度キューに入れられるようにしたくありません。

私の理解では、タスクが再実行される唯一のケースは、内部GAEエラーが発生する場合(または「DeadlineExceededException」の場合にコードに時間がかかりすぎる場合)であるように思われます。その長い間コード「人質」:))

GAEがX-AppEngine-TaskRetryCount++を設定する方法で、タスクをキューに再入力するにはどうすればよいですか?

4

1 に答える 1

2

Pythonでself.error()を使用して、プログラムでタスクを再試行/再起動できます。ドキュメントから:App Engineは、200〜299の範囲外のHTTPステータスコードを返すことでタスクを再試行します

また、タスクの開始時に、以下を使用して再試行回数をテストできます。

retries = int(self.request.headers['X-Appengine-Taskretrycount'])
if retries < 10 :
    self.error(409)
    return
于 2012-09-02T19:55:02.200 に答える