Firebase ライブラリを使用して巣の更新を継続的に監視する Web アプリのプロトタイプを作成しています。その方法について説明したいと思います。Nest には、ネスト開発者向けにユーザー側の JavaScript を使用するモバイル アプリと Web アプリの例がありますが、継続的な監視を実装する node.js を使用する例はありません。実際の例の代わりに、ここでいくつかのアイデアについて説明したいと思います。
私がやりたいことの例: 煙探知器が鳴ったら、私と私の家族に一斉に電子メールを送信したいと思います (一斉送信のメカニズムは重要ではありません)。私は node.js と express.js を使用していますが、自宅を監視するために Web ページを開いたままにしておく必要はありません。したがって、サーバー側で監視を実装したいと考えています。
私の現在の計画は、機能をルートコントローラーで使用するクラスに組み込むことです。これにより、ユーザーは URL にリクエストを発行して監視を有効にし、ユーザーが Web サイトを離れた後も接続と関連データを保持できるようになります。私のテストでは、Web アプリはネストから切断した後もネストを監視し続けますが、接続が最終的にタイムアウトになるかどうかはわかりません。とにかく、接続の問題はよくあることなので、とにかく対処する必要があります。
だからここに私が考えている一般的な質問があります:
監視コードをルート/コントローラーに配置することは適切ですか? それとも、Ruby on Rails (RESTful ストリーミングの使用について何か見たことがあります) のような別のフレームワークは、継続的な監視に適していますか?
接続を監視するためのオーバーヘッド データ (device_ID など) をどのように格納する必要がありますか? 「接続」オブジェクトを作成するよりも、オーバーヘッド データを格納するためのより良い方法はありますか?
最後に、監視接続は最終的にタイムアウトになりますか? とにかく、中断された接続を再確立する方法はありますか (のドキュメントを読みました.onDisconnect
が、カスタム コールバックは許可されませんでした)。