2つの異なる動的バックエンドにヒットする2つのcronジョブがあり、どちらも同じ問題を抱えています。cronジョブがブラウザで直接実行するURLに移動することで、問題を再現できます。
私たちのアプリはかなり長いコールドスタート時間を持っています。バックエンドを使用するURLに移動すると、次のエラーが表示されます
Error: Server Error
The service you requested is not available yet.
Please try again in 30 seconds.
ログに、次のメッセージを含むバックエンドの/ _ah / startへのリクエスト(これに対する特定のハンドラーはありません)が表示されます。
This request caused a new process to be started for your application, and thus caused your application code to be loaded for the first time. This request may thus take longer and use more CPU than a typical request for your application.
それから私がしたことはバックエンドのURLを更新することでした、そしてそれはうまくいきました。
したがって、私の理論では、バックエンドがすでにロードされている場合、cronジョブは正常に機能します。そうでない場合は、バックエンドがロードされるかどうかを確認するのに十分な時間待機しません。
それが正しいと仮定して、/ _ ah / startが終了するまでcronジョブを待機させる方法はありますか?
他の2つのオプションは、使用したくない常駐インスタンスを使用するか、todoリストにあるが今まで問題にならなかったコールドスタートアップ時間を改善することです(フロントエンドに常駐インスタンスを使用します) )。
バックエンドはB1です。これをアップグレードできるとしましょう。しかし、資金不足のスタートアップなので、私はむしろアップグレードしたくありません。