26 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) 1765746717: the-app
> (sleep 5)
1765746718: the-app
1765746719: the-app
1765746720: the-app
1765746721: the-app
1765746722: the-app
> (system-stop prod-system)