Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Go
  3. kala

kala

MITGo

A modern, performant job scheduler written in Go with a JSON over HTTP API and web UI.

GitHubGitHub
2.2k stars191 forks0 contributors

What is kala?

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.

Target Audience

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.

Value Proposition

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.

Overview

Modern Job Scheduler

Use Cases

Best For

  • Automating periodic tasks like backups, data synchronization, or report generation in small to medium applications.
  • Scheduling jobs with complex dependencies where child jobs must run only after parent jobs complete successfully.
  • Integrating job scheduling into applications via a RESTful API without needing to manage a complex distributed scheduler.
  • Deploying a job scheduler quickly in environments with limited resources, thanks to its single binary and support for lightweight databases like BoltDB.
  • Monitoring and managing scheduled jobs through a built-in Web UI for teams that prefer visual oversight over command-line tools.
  • Debugging and testing job commands locally using Kala's 'run' command to verify scripts before scheduling them.

Not Ideal For

  • Mission-critical production systems requiring proven reliability and fault tolerance, as the README explicitly states it's not battle-tested.
  • Large-scale distributed environments needing job execution across multiple nodes or clusters for load balancing and high availability.
  • Applications demanding built-in security features like authentication and authorization for API access or the Web UI.
  • Use cases requiring advanced job orchestration beyond simple dependencies, such as event-driven triggers or conditional workflows.

Pros & Cons

Pros

Effortless Deployment

Runs as a single binary with no external dependencies, allowing quick setup via commands like 'kala serve' for instant use.

Flexible Scheduling Standard

Uses ISO 8601 notation for job intervals and start times, offering more expressive scheduling than traditional cron syntax.

Dependent Job Chaining

Supports parent-child job relationships for sequential execution, enabling complex workflows without external tooling.

Broad Database Support

Persists job data across multiple backends like BoltDB, Redis, PostgreSQL, and MySQL, providing flexibility for different infrastructures.

Built-in Monitoring Interface

Includes a Web UI dashboard for visualizing job stats and managing schedules, reducing reliance on command-line tools.

Cons

Unproven Production Readiness

The README warns it's 'not battle-tested' and recommends alternatives like Chronos for fault tolerance, making it risky for critical systems.

Sparse Client Ecosystem

Official client libraries are limited to Go, with third-party contributions for Node.js and Python that may lack maintenance or features.

Complex Database Configuration

Setting up databases like MySQL requires verbose command-line parameters for TLS and connection details, increasing deployment complexity.

Missing Advanced Features

Lacks built-in support for job prioritization, resource limits, or event-based triggers, limiting use in sophisticated orchestration scenarios.

Open Source Alternative To

kala is an open-source alternative to the following products:

C
Chronos

Chronos is a job scheduler for Apache Mesos that supports complex job workflows and cron-like scheduling for distributed systems.

Frequently Asked Questions

Quick Stats

Stars2,157
Forks191
Contributors0
Open Issues11
Last commit7 months ago
CreatedSince 2015

Tags

#task-automation#golang-application#cron-alternative#service#job-scheduler#http-api#iso8601#golang#web-ui#iso-8601#scheduler#go#self-hosted

Built With

M
MySQL
G
Go
P
PostgreSQL
M
MongoDB
C
Consul
B
BoltDB
D
Docker
R
Redis

Included in

Go169.1k
Auto-fetched 6 hours ago

Related Projects

KubernetesKubernetes

Production-Grade Container Scheduling and Management

Stars123,904
Forks43,572
Last commit6 hours ago
MobyMoby

The Moby Project - a collaborative project for the container ecosystem to assemble container-based systems

Stars71,893
Forks19,044
Last commit10 hours ago
traefiktraefik

The Cloud Native Application Proxy

Stars64,084
Forks6,087
Last commit18 hours ago
GiteaGitea

Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD

Stars57,003
Forks6,937
Last commit6 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub