5

私はGoogleAppEngineのユーザーではありません。ただし、CPU時間やその他のリソースについては請求されているとのことですが。無限ループを作成した場合の結果はどうなりますか?グーグルはそれを終わらせることはありますか、それともあなたはどういうわけか手動でそれをしなければなりませんか?

私は趣味の開発者で、何百もの費用がかかる可能性のある小さなエラーについて心配しています。

4

3 に答える 3

7

(私はGoogleの従業員ですが、AppEngineの経験はほとんどありません。これを「公式」の回答とは見なさないでください。)

JavaサーブレットAPIを使用していると思います。使用していない場合は、指定してください。

AppEngineサーブレットドキュメントから:

リクエストハンドラは、リクエストへの応答を生成して返すための限られた時間(通常は約30秒)があります。期限に達すると、リクエストハンドラは中断されます。

これがタイトループでどのように発生するのか、VMが「通常の」Javaで中断できないのかどうかはわかりません。

于 2010-06-01T06:05:42.787 に答える
3

Jonは無限ループの低レベルのケースを処理しましたが、ハンドラーの1つが何度も繰り返し呼び出される状況もあります。おそらく、データストア全体を1日1回ではなく、1秒ごとにバックアップするように誤って構成した可能性があります。 。理論的には、30秒のチャンクであっても、多くのリソースを消費する可能性があります。ただし、それでも大量の料金が発生する危険はありません。1日あたりの「支出」額に制限を設定するオプションがあります。割り当てが残っていない場合、アプリはエラーを返しますが、債務者監獄には入れません。

于 2010-06-01T19:52:11.127 に答える
1

Google AppEngineは、リクエストが終了するまでにかかる時間に制限を課しています。

リクエストが終了するまでにかかる時間には、約30秒の制限があります。ただし、プロセスが終了する直前に、DeadlineExceededError例外がスローされます。

さらに、アプリケーションが短期間に大量のクォータを消費するのを防ぐために、1分あたりのクォータがあります。通常の状態では、アプリケーションが1分あたりの割り当てを超える可能性はほとんどありませんが、必要に応じて、この割り当ての増加を要求できます

于 2010-06-02T06:03:57.833 に答える