3

GAE データベースのレコードを処理し、Google クラウドにアップロードするジョブがあります。時間がかかるので、タスクキューを使って一度に小さなバッチを処理します。しかし、ログに「バックエンドのシャットダウンに時間がかかりすぎたため、プロセスが終了しました」という問題が一貫して見られました。クリーンアップに 30 秒しか与えられていませんが、その時間制限を超えています。インスタンスが使用できなくなり、シャットダウンが必要になる場合があることは理解していますが、毎回タスクの実行に 3 ~ 4 分 (場合によってはタスク キューの時間制限である 10 分) のように頻繁に発生し、あまり作業が行われません。各タスク。

バックエンドのシャットダウンの原因は何だろうと思っています。それは純粋にサーバー側の問題ですか、それともコードのバグがこの問題を引き起こす可能性がありますか?

ありがとう!

4

2 に答える 2

0

Google が IO バックエンドで言うように、多くの警告なしにシャットダウンされます。開発者は、タスクが失敗する失敗状況を処理するようにコーディングする必要があります。私の場合、毎回機能するシャットダウンフックを登録しました(タスクキューのみ)。それに加えて、タスク名を使用して、回復中に失敗したタスクから終了済みをフィルター処理できます。GAE は単独で廃止されます。そのため、そもそもバックエンドが失敗した理由についてあまり心配する必要はありません。タスク キューで回復コードを使用している限り、ある時点で実行されます。

あなたが言及したように、アプリ以外のバグまたはサーバー負荷の問題である可能性があります. さまざまなアプリ/コードでこのエラーを追跡した後、GAE パラダイムは小さなタスク チャンクの urlhandler に関するコードのように感じます。

于 2013-12-14T12:19:12.127 に答える