タイマーとスケジューリング - lisp-cookbook-ja/common-lisp GitHub Wiki

cl-cron

タイマー処理

【募集中】

スケジュール処理 : cl-cron

Linux におけるスケジューラ cron のような動作を Common Lisp 環境上で実現できます。cronを使用しているわけではないため、Windows, MacOS でも使用可能です。

1日毎、1か月毎、1年毎といった長期間にわたる定期処理を実行することができます。

5分毎であれば

(cron:start-cron)
(cron:make-cron-job #'(lambda () (format t "Print this each 5 minutes")) :step-min 5)

1年ごとは少し特殊ですが12か月ごとの処理として実現できそうです。

(cron:start-cron)
(cron:make-cron-job #'(lambda () (format t "Print this each year")) :step-month 12)

cl-cron のスケジュール処理を終了するには, stop-cron 関数を使用します

(cron:stop-cron)

'''参考'''