I’m looking for an elixir application that will run and execute various jobs at defined intervals, a bit like a cron. Ideally with some kind of UI for reporting success/stats.
Any recommendations? I’m struggling to find projects that do this.
Edit: I’ve found Quantum and Citrine so far. Neither of which has the UI / stats side of things.
Hmmmm, I had discounted Oban because it’s designed for scaled-up job queue processing. But that doesn’t mean it can’t run a few single scheduled jobs too…
It works great for small scale scheduled jobs, too. It has a built in cron-based scheduler (see Oban.Plugins.Cron — Oban v2.13.1), or you can handle your own periodic scheduling by inserting the next job in a series using the :scheduled_at option as the first step in your job execution. The pattern is explained here: Reliable Scheduled Jobs — Oban v2.13.1, but you would use scheduled_at rather than scheduled_in
If you go the second route, there are a few useful tools in the crontab library to calculate the run dates - see Crontab.Scheduler — crontab v1.1.11