A modern, performant job scheduler written in Go with a JSON over HTTP API and web UI.
Kala is a simplistic, modern, and performant job scheduler written in Go designed to automate and manage scheduled tasks. It provides a lightweight alternative to complex distributed schedulers, focusing on ease of use, minimal dependencies, and straightforward deployment. The tool features a single binary, a JSON over HTTP API, ISO 8601 scheduling, dependent jobs, persistent storage with multiple database backends, configurable retries, job stats, and a built-in Web UI.
Startups, smaller teams, and developers needing a straightforward, dependency-free job scheduler for smaller-scale deployments without the overhead of distributed systems. It is suitable for those who want to automate tasks like running scripts, data processing, or maintenance jobs via a simple API.
Developers choose Kala for its simplicity and ease of deployment as a single binary with no external dependencies, making it quick to set up and run. Its JSON over HTTP API allows integration with any programming language or tool, and it offers flexible scheduling using ISO 8601 notation, which is more accessible than complex cron syntax.
Modern Job Scheduler
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Runs as a single binary with no external dependencies, allowing quick setup via commands like 'kala serve' for instant use.
Uses ISO 8601 notation for job intervals and start times, offering more expressive scheduling than traditional cron syntax.
Supports parent-child job relationships for sequential execution, enabling complex workflows without external tooling.
Persists job data across multiple backends like BoltDB, Redis, PostgreSQL, and MySQL, providing flexibility for different infrastructures.
Includes a Web UI dashboard for visualizing job stats and managing schedules, reducing reliance on command-line tools.
The README warns it's 'not battle-tested' and recommends alternatives like Chronos for fault tolerance, making it risky for critical systems.
Official client libraries are limited to Go, with third-party contributions for Node.js and Python that may lack maintenance or features.
Setting up databases like MySQL requires verbose command-line parameters for TLS and connection details, increasing deployment complexity.
Lacks built-in support for job prioritization, resource limits, or event-based triggers, limiting use in sophisticated orchestration scenarios.
kala is an open-source alternative to the following products: