explaingit

jhuckaby/cronicle

5,662JavaScriptAudience · ops devopsComplexity · 3/5Setup · moderate

TLDR

Cronicle is a web-based task scheduler that replaces cron on servers, giving you a browser UI to create, schedule, and monitor jobs across multiple machines with real-time logs and webhook alerts.

Mindmap

mindmap
  root((cronicle))
    What it does
      Schedule jobs
      Monitor tasks
      Multi-server support
      REST API
    Web interface
      Live log viewer
      Performance graphs
      Timezone support
      Real-time status
    Job types
      Shell commands
      Custom plugins
    Notifications
      Web hooks
      External alerts
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Replace all your server cron jobs with a single Cronicle dashboard so you can see job status, live logs, and history in a browser without SSH access.

USE CASE 2

Run the same scheduled job across a group of servers with automatic failover if the primary scheduler goes down.

USE CASE 3

Write a custom plugin in Python or Ruby that Cronicle calls on a schedule, passing parameters as JSON and reading back progress and status.

USE CASE 4

Trigger jobs via REST API from your CI pipeline or external systems instead of waiting for a fixed cron schedule.

Tech stack

Node.jsJavaScript

Getting it running

Difficulty · moderate Time to first run · 30min

Requires Node.js on the server, multi-server failover needs network access between nodes and shared configuration.

No license information was mentioned in the explanation, check the repository directly for terms.

In plain English

Cronicle is a task scheduler and runner for servers, designed to replace the traditional cron system with a more capable and user-friendly alternative. It runs as a Node.js application and provides a web-based interface for creating, scheduling, and monitoring jobs, so you can manage scheduled tasks through a browser rather than editing configuration files on the server. The system can span multiple servers. One server acts as the primary, keeping time and assigning jobs to worker servers. Other servers sit idle until the primary sends them work. If the primary goes down, a designated backup server automatically takes over. Servers in the cluster can be grouped and tagged, and events can target a specific group rather than a single machine. Jobs can be simple shell commands or custom plugins written in any programming language that can read from standard input and write to standard output. Cronicle passes job parameters to plugins as JSON and reads back progress and status the same way. This makes it straightforward to write a plugin in Python, Ruby, Perl, or any other language without needing a specific SDK. The web interface shows real-time job status with a live log viewer, CPU and memory usage tracking per job, historical statistics with performance graphs, and support for scheduling events across multiple timezones. Long-running events can optionally be queued rather than run in parallel. External systems can receive notifications via web hooks, and a REST API allows programmatic scheduling and triggering of events using API keys for authentication. The README notes that a successor project called xyOps has been released by the same author, and Cronicle will continue receiving maintenance updates (primarily bug fixes and security patches) going forward.

Copy-paste prompts

Prompt 1
I want to migrate 15 existing server cron jobs to Cronicle. Help me write a shell script that reads my crontab and generates the equivalent Cronicle event config JSON for each job.
Prompt 2
I need Cronicle to call a Python script that processes files and reports progress back to the UI. Show me the exact stdin and stdout JSON protocol for writing a custom Cronicle plugin.
Prompt 3
My Cronicle primary server crashed and the backup server did not take over automatically. Help me debug the failover configuration and set up a test to verify it actually works.
Prompt 4
Set up a Cronicle event that runs every 15 minutes, sends a webhook to Slack with the job result, and automatically retries once on failure.
Open on GitHub → Explain another repo

← jhuckaby on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.