Our great sponsors
-
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.
-
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.
I had a similar design challenge recently and I haven’t worked it out completely yet. But I needed to dynamically create CronJob a based on a request and run each job in a go routine. I landed on https://github.com/robfig/cron which supports that behavior and removing jobs as well. I see this as being similar to your need since each scheduled cron entry via this library is sorta like having a queue with each having their own possible schedule. But I suppose it’s totally different from what you’re looking for. Curious to watch replies here.
There is gocron which you would need to implement with a locking solution like in apscheduler perhaps with postgres or redis.
Use Temporal open source project. It is much more than a cronjob service. But it supports managing periodic jobs natively.
Airflow might also be a good option for you. Essentially DAGs of cronjobs. We like it a lot.
Works great. Hope this helps. (For easiness GH here).