2016-11-04 2 views
2

cronジョブによって定期的に起動されるアプリケーションエンジンの標準環境でJavaサーブレットを実行しています。サーブレットはfirebaseデータベースからデータを読み取ります。このサーブレットは約1日は正常に動作しますが、firebaseデータベースに接続できなくなったようです。これを修正するように思われるのは、サーブレットを再デプロイすることだけです。cronジョブを介して実行しているGoogleアプリケーションエンジンサーブレットが動作しなくなった後

私のアプリは、このリンクでの例と非常によく似ています

https://cloud.google.com/solutions/mobile/firebase-app-engine-android-studio#adding_backend_logic_using_app_engine

は誰がfirebaseでこの問題を経験していますか?

ありがとうございました。

答えて

2

これは、Firebase Javaサーバーライブラリの既知の問題です。 Firebaseへの接続を管理するスレッドは、24時間後にGAEによって殺されます。おそらく、代わりにあなたがFirebase in a flexible instanceを試みることができる

https://cloud.google.com/appengine/docs/java/an-overview-of-app-engine#scaling_types_and_instance_classes

:手動でスケーリングし、インスタンスのジョブはわずか24時間のために実行することができ、実際、緩くここで文書化に関連するのか?

編集:この問題は、バージョン4.0.4のFirebase admin library for Javaで修正されています。

+0

情報をありがとうが、私はまだ少し混乱しています。私のcronの仕事は本当に24時間連続して実行されていません。少量の仕事をしてから、それが行われます。火災基地のDBの変更を継続的に聞いていません。 私は、間違いなく、cronジョブが実行されると、サーブレットの新しいインスタンスを作成し、doGet()を呼び出し、その後サーブレットが終了すると考えました。 サーブレットの作成時にfirebase接続を閉じて再作成するなど、この問題を回避する方法があるかどうか知っていますか?可能であれば、柔軟な環境に行きたいとは思っていません。 – Heath

+0

説明に記載されているように手動インスタンスを1に設定すると、ジョブがアクティブでなくてもインスタンスが常に実行されます。このまったく同じことが私に起こった。 –

+0

柔軟な環境に切り替えた後、今は正常に動作しているようです。ありがとう。 – Heath

関連する問題