私は、私のアプリケーションのユーザによって書かれたFirebase DBに接続する、Herokuに配備された単純なノードサーバを作成しました。サーバーは子の変更を監視し、私が検討する必要がある新しいデータがあるときに私にTwilioを介してメッセージを送信します。フロントエンドはなく、存在する必要もありません。普通にアイドリング状態のdynosを終了するHerokuにこれを無期限に実行させると、Firebaseを監視してアラートを渡すことができます。Heroku Node.jsインスタンスを無期限に実行するにはどうすればよいですか?
0
A
答えて
2
Heroku free web dynos that receive no traffic in a 30 minute period will sleep。これにより、Firebaseのnode.js child_changedリスナーがアクティブなままになることが防止され、Twilioメッセージは受信されません。そのような事態を防ぐために、非常に単純なsetInterval関数(例:this articleのような)を30分未満の頻度で実行することができます。
var http = require("http");
setInterval(function() {
http.get("http://<your app name>.herokuapp.com");
}, 300000); // every 5 minutes (300000)
私はそれに間違いは見られません。
何かがクラッシュするあなたのNode.jsサーバーの原因となる場合は、あなたも自分で何かを知らせるためのコードをチェックする必要が含めることができます。
process.on('uncaughtException', function (err) {
console.log(err);
twilioClient.messages.create({...}, function(twilioErr, message) {
if (twilioErr) {
console.log("twilio error: " + twilioErr);
}
});
}
+0
これは非常に役に立ちました。私はちょうど私が各ページの負荷に問題があったので、setIntervalをsetTimeoutに変更したことに気づくでしょう。私はHerokuエラーが発生するまで、新しい繰り返しのページローダーを生成します。 – ed94133
関連する問題
- 1. RailsのAmazon EC2インスタンスで長期実行ジョブを実行するにはどうすればよいですか?
- 2. Herokuでgulpを実行するにはどうすればよいですか?
- 3. Swiftでスレッドが無期限に実行されないようにするにはどうすればよいですか?
- 4. 静的ページで無限スクロールを実行するにはどうすればよいですか?
- 5. Angular 2で無限アニメーションを実行するにはどうすればよいですか?
- 6. vb6コードで実行時にocxのインスタンスをインスタンス化するにはどうすればよいですか?
- 7. UIをフリーズせずにAndroidで無限ループを実行するにはどうすればいいですか?
- 8. node.jsプログラムの子プロセスとしてnode.jsモジュールを実行するにはどうすればよいですか?
- 9. 無限ループを設定するにはどうすればよいですか?
- 10. node.jsを使ってHerokuのs3にパススルーアップロードを行うにはどうすればいいですか?
- 11. DjangoアプリケーションでHerokuで計算を並行して行うために関数を非同期で実行するにはどうすればよいですか?
- 12. Express.jsでクッキーが期限切れになるようにするにはどうすればよいですか?
- 13. 長期実行プロセスでcoverage.pyを実行するにはどうすればよいですか?
- 14. google sqlインスタンスにアクセスするデータフローでビームクラスを実行するにはどうすればよいですか?
- 15. 制限を超えて実行するcoundowntimerを実装するにはどうすればよいですか?
- 16. herokuにローカルに展開されたPHPプロジェクトを実行するにはどうすればいいですか?
- 17. node.jsファイルをAWS Lambdaにアップロードして正常に実行するにはどうすればよいですか?
- 18. Python Webアプリケーション(Heroku)でサーバーサイドでd3jsを実行するにはどうすればよいですか?
- 19. HerokuアプリでREST APIを使用してコンソールコマンドを実行するにはどうすればよいですか?
- 20. Typescript Node.jsアプリをHerokuに配備するにはどうすればよいですか?
- 21. HerokuでSpring MVCアプリケーションを実行するにはどうすればよいですか?
- 22. 複数回のクリックでも1つのインスタンスだけを実行するようにMSIインストーラを制限するにはどうすればよいですか?
- 23. node.jsからプログラムでmongodumpコマンドを実行するにはどうすればよいですか?
- 24. componentWillUpdateが無限ループを起こさないようにするにはどうすればよいですか?
- 25. Node.jsコマンドラインアプリを単一実行ファイルに変換するにはどうすればよいですか?
- 26. ステージにTravisCIを実行するにはどうすればいいですか?
- 27. 起動時にAmazon EC2インスタンスでpowershellスクリプトを実行するにはどうすればよいですか?
- 28. kubernetesクラスタで一度限りの移行タスクを実行するにはどうすればよいですか
- 29. 高い権限でWiXからngenを実行するにはどうすればよいですか?
- 30. iOSでバックグラウンドで長期実行タスクを実装するにはどうすればよいですか?
ホスティングサービスの多くはそこにあります。おそらく言及するにはあまりにも多くの。人々があなたが話しているようなことをするためにfirebase-queueを使うことは一般的です。 https://github.com/firebase/firebase-queue/ –