Cronicle

A distributed task scheduler and runner with a web based interface for managing scheduled jobs.

Cronicle screenshot 1

Cronicle is an open-source, multi-server task scheduler and runner. It provides a web-based interface for managing scheduled, repeating, and on-demand jobs across a distributed network of worker servers. The software allows administrators to coordinate complex task execution without relying on individual crontabs across multiple machines.

The software is written in Node.js and functions as a centralized system for executing shell commands or custom scripts. It is deployed as a server application that coordinates tasks between a primary server and one or more worker nodes. This setup enables the distribution of workloads across a cluster, ensuring that specific tasks are run on the appropriate hardware based on the defined server groups.

Key features

  • Automated failover to backup servers
  • Real-time job status with a live log viewer
  • Support for plugins written in any language
  • Scheduling of events across multiple timezones
  • Tracking of CPU and memory usage per job
  • Historical performance statistics and graphs
  • REST API for remote scheduling and event execution
  • Web hooks for external notification systems
  • Auto-discovery of nearby servers

The architecture relies on a primary server that manages the schedule and assigns jobs to worker servers or itself. Worker servers remain idle until they receive assignments from the primary. To ensure high availability, backup servers can automatically take over primary duties if the main server fails. The system uses a JSON messaging system for communication between the core application and its plugins, which can be any executable script. Users can organize events into categories to define defaults and visual highlights within the web interface. Authentication for remote applications is handled via API keys, while human users are managed through accounts with bcrypt hashed passwords.

Cronicle is designed for system administrators and developers who require a distributed approach to job scheduling with centralized visibility into execution logs and resource consumption.

Last Modified
Software TypeWeb App / Server
Platform
Last Activity23 days ago
Repository Age10 years
LicenseMIT
Open Source Software.io

Join our newsletter to get shiny new open source software delivered to your inbox. Unsubscribe anytime.