2

私のローカル開発環境では、タスク キューに追加された App Engine タスクがエラーになると、成功するまで再試行されます。ただし、本番環境ではそうではありません。私が考えていることは、urls.py にカスタム 500 ハンドラーがあるため、すべてのエラーがこれによってキャッチされ、500 エラーが上にバブルすることはないということです。

実際、これが私のタスクが再試行されない理由でしょうか? もしそうなら、これを防ぐ方法はありますか?リクエストがバックエンド タスクではなく、ユーザーによって生成された場合にのみ、handler500 ビューによってエラーがキャッチされるようにします (これらの場合は、エラーが発生して再試行を強制する必要があります)。

4

1 に答える 1

5

200 以外のステータス コードが返された場合、タスクはタスク キューによって再試行されます。「カスタム 500 ハンドラー」が 200 ステータス コードを返す場合、タスク キューはタスクが失敗したことを知る方法がないため、再試行しません。適切なステータス コードを返すようにハンドラーを変更する必要があります。これは、ユーザー ページを含め、関係なく実行する必要があります。

于 2010-06-18T14:05:37.873 に答える