DEV Community

Christian
Christian

Posted on

Cron is easy. Managing cron jobs is not.

Writing a cron job takes 30 seconds.

Running cron jobs reliably in production?
That’s where things start to break.


😵 The reality

Once you have more than a handful of jobs, things get messy:

  • jobs run twice
  • jobs hang forever
  • jobs silently fail
  • jobs behave differently across servers
  • nobody knows what’s actually running

Cron itself doesn’t solve any of this.


🔥 The real problems

1. No control over running jobs

If something gets stuck, you’re SSH-ing into servers and killing processes manually.


2. No execution limits

A job that should run for 2 minutes might run forever.


3. Overlapping runs

If a job takes longer than its interval:
→ multiple instances pile up


4. No central visibility

Multiple servers = multiple crontabs = chaos


5. No maintenance awareness

Deployments happen, jobs keep running → failures & noisy alerts


⚡ What I actually needed

I wanted:

  • real control over job execution
  • visibility into what’s running
  • protection against overlapping runs
  • the ability to stop jobs instantly
  • multi-host execution
  • proper monitoring

And one more thing:

👉 I didn’t want a SaaS.

👉 I wanted something I fully control.


🧰 So I built this

👉 https://cronmanager.meinetechnikwelt.rocks/

👉 https://github.com/csoscd/cronmanager

A lightweight cron job manager that sits on top of cron and adds the missing pieces.


🔓 Open Source. Free. Self-hosted.

  • fully open source
  • free to use
  • runs on your own infrastructure
  • Docker-native → up and running in minutes

No vendor lock-in. No external dependencies.


🔍 What it actually adds

✅ Job management

Define jobs with:

  • schedule
  • command
  • working directory
  • descriptions & tags

Not just a crontab file anymore.


⏱ Execution limits

  • set max runtime per job
  • get alerts (email / Telegram)
  • automatically kill jobs (local or via SSH)

🚫 Singleton mode

  • prevents overlapping runs
  • skips new executions while one is still running

🛑 Kill running jobs

  • stop jobs directly from the UI
  • no SSH needed

🛠 Maintenance windows

  • pause jobs during deployments
  • avoid unnecessary alerts

🏷 Tags & grouping

  • organize jobs
  • filter and manage large setups easily

📊 Monitoring

  • success rate
  • avg / min / max runtime
  • visual charts over time

🌍 Multi-host support

  • run jobs across multiple servers
  • execute via SSH in parallel

🔐 Authentication

  • OIDC / OAuth2 support
  • role-based access (Admin / Viewer)

💡 Final thought

Cron is a scheduler.

But in production, you don’t just need scheduling.

You need:

  • control
  • visibility
  • safety

💬 Curious

How are you managing cron jobs today?

  • plain crontab?
  • custom scripts?
  • something heavier like Airflow?

Top comments (0)