|at-at||Simple ahead-of-time function scheduler. Allows you to schedule the execution of an anonymous function for a point in the future.|
|tron||TRON lets you schedule tasks for execution using a Java ScheduledThreadPoolExecutor under the hood.|
|Monotony||Monotony is a solution to the problem of how to schedule things in a way that humans find intuitive.|
|quartzite||Quarzite is a powerful Clojure scheduling library built on top the Quartz Scheduler.|
|cronj||This is another cron-inspired task-scheduling library. I have found many scheduling libraries for clojure:|
The first three all follow the cron convention. The "task" (also called a "job") can only be scheduled at whole minute intervals. at-at has milli-second resolution, but was limited in the number of threads that have to be predetermined. It was good for looking after tasks that did not overlap between calls but not for tasks that may take an arbitarily long time. monotony uses core.logic, which is something that I am yet to understand.
I needed something that
* started scheduled tasks with a per-second interval having high system-time accuracy without wasting system resourcs.
* would spawn as many threads as needed, so that tasks started at earlier intervals could exist along side tasks started at later intervals.
* an additional design requirement required that task handlers are passed a date-time object, so that the handler itself is aware of the time when it was initiated.
|schejulure||A simple cron-inspired library for clojure|