gitmyhub

Cronicle

JavaScript ★ 5.8k updated 8d ago

A simple, distributed task scheduler and runner with a web based UI.

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.

Node.jsJavaScriptsetup: moderatecomplexity 3/5

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.

Where it fits