perl CPAN Module Daemon::Generic がお手軽な件について
定期的な処理をしようとしたときは、普通はスクリプトを書いて、
crontabで定期的に実行されるようにするのが一般的だと思う。
この方法で定期的な処理を実装すると
crontabは最短で毎分間隔での起動になるため、
数秒〜数十秒間隔で処理を実行したい場合には使えない。
今回、自宅開発中に、数秒〜数十秒間隔で処理を実行したい
シチュエーションに遭遇したので、daemonを起動し、
1つの処理が終わったらsleep処理をいる方式で、
定期的な処理を実装してみることにした。
daemonを1から書き始めると大変なので、CPANモジュールを
あさったところ、ちょうどよさそうなモジュール発見
Daemon::Generic
Daemon::Generic::While1
サンプルコードはこちら。
gd_run_body部分にロジックを実行すればOK。
起動方法は、
できるようになっています。
デフォルトで、ログは/var/log/messagesに吐かれる
挙動になっています。
crontabで定期的に実行されるようにするのが一般的だと思う。
この方法で定期的な処理を実装すると
crontabは最短で毎分間隔での起動になるため、
数秒〜数十秒間隔で処理を実行したい場合には使えない。
今回、自宅開発中に、数秒〜数十秒間隔で処理を実行したい
シチュエーションに遭遇したので、daemonを起動し、
1つの処理が終わったらsleep処理をいる方式で、
定期的な処理を実装してみることにした。
daemonを1から書き始めると大変なので、CPANモジュールを
あさったところ、ちょうどよさそうなモジュール発見
Daemon::Generic
Daemon::Generic::While1
サンプルコードはこちら。
gd_run_body部分にロジックを実行すればOK。
起動方法は、
$ perl generic.pl start停止方法、再起動方法は、それぞれ、
$ perl generic.pl stopと、いたって直感的な操作で起動/停止/再起動が
$ perl generic.pl restart
できるようになっています。
デフォルトで、ログは/var/log/messagesに吐かれる
挙動になっています。