perl CPAN Module Daemon::Generic がお手軽な件について

定期的な処理をしようとしたときは、普通はスクリプトを書いて、
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に吐かれる
挙動になっています。