I have to implement a program that acts a bit like the UNIX cron
daemon. It has a configuration that describes the scheduled tasks. It
sleeps until it it time to kick off the first task, then it wakes up,
kick the task off, re-schedules it for the next time if it is on a
repeating schedule, then goes back to sleep again.
So, why not just use cron then? Because I am looking into using the
ICAL standard for specifying scheduled tasks, as per RFC-5545. This is
much more powerful and flexible than cron, and has business-oriented
facilities like scheduling for end of month, that cron cannot do.
Plus, it is a OS-neutral standard. I am a UNIX man myself but I am
currently working on Windoze and I do prefer it when general purpose
apps are OS-neutral.
I have come across libical, which implements a C API that can be used
to process ical entries. I expect my solution will use libical, rather
than me coding completely from scratch.
So here is my question: does anyone know of a cron-like job scheduler
that uses ical rather than the crontab format for specifying the job
schedules?
It seems to me that this problem is a general problem that ought to
have a general solution. My googling has revealed very little. When
people ask how to schedule tasks the most common reply is "use cron".
Apple people tend to reply with "use ical" which is a GUI facility
that comes with Apple Macs. And some people point out the well known
problems with cron, particularly the one where it will not run the
task unless the daemon itself is always running. I am aware of the
anacron variant that solves this problem. Any ical-based solution
should also deal with tasks that were not kicked off whilst the ical-
based daemon was not running.
Regards,
Andrew Marlow