Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
there's an existing bug in systemd that causes timers to _never_ run
it's been open for 5 years
if you have a large enough cluster you'll have affected nodes for sure
https://github.com/systemd/systemd/issues/6036
I was annoyed by cron/fcron limitations and figured systemd is the way go because of its flexibility and power, but also was annoyed about manually managing tons of unit files. So I wrote a tool with a config that looks kinda like a crontab, but uses systemd (or launchd on mac) behind the scenes: https://github.com/karlicoss/dron#what-does-it-do
E.g. a simplest job definition looks like this
job(every(mins=10), 'ping https://beepb00p.xyz', unit_name='ping-beepb00p')
I was annoyed by cron/fcron limitations and figured systemd is the way go because of its flexibility and power, but also was annoyed about manually managing tons of unit files. So I wrote a tool with a config that looks kinda like a crontab, but uses systemd (or launchd on mac) behind the scenes: https://github.com/karlicoss/dron#what-does-it-do
E.g. a simplest job definition looks like this
job(every(mins=10), 'ping https://beepb00p.xyz', unit_name='ping-beepb00p')
For use inside containers, a nice Cron is Superchronic:
https://github.com/aptible/supercronic
Beware! It explicitly does not run jobs in an empty environment - it's not a great candidate for system level Cron. But for its intended usecase it is very nice.
Maybe instead of demons with config files that have more and more bespoke syntax, it's better to go all the way to a library that provides the basic loop functionality? Like https://github.com/c-blake/cron or something similar in C or whatever.
Maybe not, but it's an idea worth considering...