swarm-cronjob is a free, open source orchestration & scheduling project written in Go and released under MIT. It has 889 GitHub stars, 77 forks and 40 open issues, and was last pushed 9 days ago. On this registry it ranks #105 of 130 tracked projects in Orchestration & Scheduling, with 5 head-to-head comparisons available. It gained 4 stars over the last 30 tracked days.

What is swarm-cronjob?

swarm-cronjob is a Go-based, MIT-licensed scheduler for Docker Swarm that lets operators create recurring jobs by defining cron-style schedules with service labels, and it is intended for teams that already run Docker Swarm clusters and want scheduled tasks without operating a separate scheduler.

What it is

swarm-cronjob is a scheduler for Docker Swarm. It lets users run recurring jobs on Docker Swarm by defining cron-style schedules with service labels. It watches services through the Docker API, keeps its configuration in sync automatically, and creates scheduled job runs across the cluster without requiring a separate scheduler. The project is written in Go and licensed under MIT. It sits in the Infrastructure & Operations / Orchestration & Scheduling category. It replaces a separate scheduler for recurring jobs in Docker Swarm.

The concrete problem is scheduling recurring work in a Docker Swarm cluster without deploying and maintaining an external scheduler. Instead of running another scheduling service, operators attach cron-style schedules to Swarm services as labels. swarm-cronjob watches those services through the Docker API and keeps configuration synchronized. When a schedule fires, it creates scheduled job runs across the cluster. That makes service labels the source of truth for job timing, so job definitions travel with the services they belong to and do not need a separate configuration store.

Key capabilities

  • Defines cron-style schedules with Docker Swarm service labels, so schedules live with service metadata.
  • Watches services through the Docker API and keeps its configuration in sync automatically.
  • Creates scheduled job runs across the cluster without requiring a separate scheduler.
  • Runs recurring jobs on Docker Swarm, covering the cronjob and scheduler use cases named in the topics.
  • Targets Docker Swarm mode and Docker API integrations, as listed in the project topics.
  • Implements the scheduler in Go, with MIT licensing documented in the LICENSE file.
  • Provides documentation at https://crazymax.dev/swarm-cronjob/.

Who uses it and how

  • Teams running Docker Swarm that need recurring jobs can label services with cron-style schedules and let swarm-cronjob create the runs.
  • Cluster operators who already manage Swarm services can use Docker API service watching to keep scheduler configuration synchronized automatically.
  • Environments where adding a separate scheduler is undesirable can use swarm-cronjob to create scheduled job runs across the cluster.
  • Organizations that require an MIT-licensed, Go-based component can deploy it as part of a Swarm-based infrastructure and operations stack.
  • Users who prefer service labels as the configuration interface can define job timing directly on the services being scheduled.

Getting started

The README points to documentation at https://crazymax.dev/swarm-cronjob/ for installation and usage, and the deployment target is Docker Swarm. Schedules are configured by defining cron-style schedules with service labels.

How it compares

The facts do not provide a list of paid products that swarm-cronjob replaces, and they do not name comparable scheduling tools. It stands alone in this registry.

When to use it — and when not to

Use it when the environment is Docker Swarm, Docker API access is available, and recurring jobs can be expressed as cron-style service labels. Do not choose it for orchestrators other than Docker Swarm, because the project targets Docker Swarm and Docker API service watching. The README excerpt is sparse: it points to the external documentation site, does not include install commands in the excerpt, and the repository carries 40 open issues, so operators should expect to rely on the linked documentation and track repository activity.

project readme (upstream, from github) — read inline

Documentation GitHub release Total downloads Build Status Docker Stars Docker Pulls
Codecov Become a sponsor Donate Paypal

About

swarm-cronjob lets you run recurring jobs on Docker Swarm by defining cron-style schedules with service labels. It watches your services through the Docker API, keeps its configuration in sync automatically, and creates scheduled job runs across the cluster without requiring a separate scheduler.

[!TIP] Want to be notified of new releases? Check out 🔔 Diun (Docker Image Update Notifier) project!

Documentation

Documentation can be found on https://crazymax.dev/swarm-cronjob/

Contributing

Want to contribute? Awesome! The most basic way to show your support is to star the project, or to raise issues. You can also support this project by becoming a sponsor on GitHub or by making a PayPal donation to ensure this journey continues indefinitely!

Thanks again for your support, it is much appreciated! :pray:

License

MIT. See LICENSE for more details.
Icon credit to Laurel.

Frequently asked questions

Is swarm-cronjob free to use?

swarm-cronjob is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does swarm-cronjob do?

Create jobs on a time-based schedule on Docker Swarm

What is swarm-cronjob written in?

swarm-cronjob is primarily written in Go. Its source is publicly available at https://github.com/crazy-max/swarm-cronjob, and it has 889 GitHub stars.