24 Scheduling
(require koyo/crontab) | package: koyo-lib |
This module provides a syntactic form for generating components that schedule tasks using a cron-like syntax. This functionality is based on crontab: cron-like scheduling.
syntax
(crontab* [schedule-expr handler-expr] ...+)
schedule-expr : string?
handler-expr : (-> exact-integer? any)
Examples:
> (define-system prod [app () (lambda () 'the-app)] [cron (app) (lambda (app) (crontab* ["* * * * * *" (lambda (timestamp) (printf "~a: ~a~n" timestamp app))]))]) > (system-start prod-system) 1714921027: the-app
> (sleep 5)
1714921028: the-app
1714921029: the-app
1714921030: the-app
1714921031: the-app
1714921032: the-app
> (system-stop prod-system)