cronstable is a job scheduler and workflow orchestrator for single machines and clusters. It runs commands in the foreground, logs to stdout and stderr, and accepts jobs defined in YAML or imported from five-field user crontab files. Jobs can use cron-style schedules, time zones, retries with exponential backoff, configurable failure detection, execution timeouts, result verification, and alerts through Sentry, email, Slack-compatible webhooks, shell commands, or Windows Event Log.
An optional durable state store preserves run history and pending retries across restarts, supports missed-run recovery, and provides storage, locks, idempotency keys, artifacts, and secrets. DAG workflows add dependencies, data sharing, fan-out, sensors, approval gates, and selective recovery. Optional clustering coordinates replicas through gossip, Kubernetes leases, etcd, or a shared filesystem, with leader election and job ownership policies.
The daemon exposes a web dashboard and HTTP API with live logs, history, schedule inspection, workflow controls, cluster views, and built-in Prometheus and StatsD metrics. A terminal dashboard and optional iOS app are also available. The project publishes Docker images and standalone binaries for multiple operating systems, can run as a restricted non-root container, requires Python 3.10 or later for pip installation, and is MIT-licensed.