※ ChatGPTを利用し、要約された質問です(原文:「cronから1分毎に起動→処理」 or 「ずっと起動で内部でsleep後→処理」 どちらが負荷かからないですか?)
cronから1分毎に起動するか、ずっと起動して内部でsleepするか?
このQ&Aのポイント
Linux、Oracle環境で定期的にデータベースを参照し、次の処理の実行有無を制御するJavaアプリを作成しようと思っています。
cronから1分毎にJavaアプリを実行する方法は動作が遅くなる可能性があります。DB接続・切断を1分毎に行うことも問題です。
一般的にはJavaアプリを常に起動して内部でsleepする方法が適しています。ただし、Javaアプリが停止した場合に再起動するスクリプトも必要です。
「cronから1分毎に起動→処理」 or 「ずっと起動で内部でsleep後→処理」 どちらが負荷かからないですか?
Linux、Oracle環境上で定期的にデータベースを参照して、格納データにより次の処理の実行有無が決まるような制御を行うJavaアプリを作ろうと思っています。
Javaアプリを定期的に実行する部分を cronから1分毎に起動して運用しようかと思い、プロトタイプを作成し、cronから実行したのですが結構動作が遅そうです。やはり、cronから1分毎にJavaアプリを実行するのはダメでしょうか?1分毎にDB接続・切断を行うことにもなって良くないでしょうか?
こういう場合、Javaアプリは常に起動していて、処理の中断はSleep で行うというほうが普通なのでしょうか?この場合、Javaアプリが死んだ場合に再起動してやるスクリプト等も実装する必要がありますよね?
教えてください。
お礼
> Javaアプリの場合、TimerTaskを継承したクラスを java.util.Timer で周期起動させる方が一般的です。 周期起動にはTimerTask ですね!例外発生時の対応を考えつつやってみます。 ぜんぜん勉強不足でした。。。 ありがとうございました。