这个项目能做什么

cronstable 是一款面向单机和集群设计的 cron 替代品。它从 YAML 或经典 crontab 文件读取调度配置,并按 cron 风格的时间表运行命令,支持秒级调度、时区、工作日与哈希调度、调度内省以及 lint 检查。 除基本调度外,它还提供失败处理,包括重试与指数退避、结果验证、延迟运行检测,以及通过 Sentry、电子邮件、兼容 Slack 的 webhook、shell 命令、Windows 事件日志和向其 iOS 应用发送端到端加密推送通知等方式进行告警。持久化状态可在重启后保留运行历史和待处理的重试,工作流可定义为有向无环图,支持依赖关系、扇出、传感器和审批门。 可观测性可通过内置 Web 仪表盘、终端 TUI 和 iOS 应用获得。这些界面可显示作业状态、实时日志、运行历史、工作流图、集群健康状况和资源使用情况。HTTP API 允许读取状态并控制作业,指标可导出到 Prometheus 或 statsd。可选集群功能通过 Kubernetes Leases、etcd、共享文件系统或双向 TLS 进行领导者选举。 部署选项包括多种发行版变体的 Docker 镜像,适用于 Linux、macOS、Windows、FreeBSD、OpenBSD、NetBSD 和 illumos 的独立二进制文件,以及 Homebrew、WinGet、pip 和系统软件包。该项目面向多种 CPU 架构,并支持受限容器环境,具备非 root 运行和只读根文件系统能力。