A pico-sized declarative job scheduler designed for single-node environments, prioritizing simplicity and being stand-alone.
cheek is a pico-sized, declarative job scheduler designed for single-node environments. It allows users to define and run scheduled jobs using a simple YAML configuration file, providing a lightweight alternative to more complex scheduling systems like cron or distributed job queues. It solves the problem of needing a straightforward, resource-efficient scheduler for basic automation tasks without the overhead of robust, high-availability features.
Developers and system administrators who need a simple, stand-alone job scheduler for single-machine environments, such as personal projects, small servers, or development setups where cron might be too limited or complex systems are overkill.
Developers choose cheek for its extreme simplicity, minimal resource footprint, and declarative YAML-based configuration, which makes it easy to set up and version control. Unlike heavier schedulers, it avoids unnecessary features, focusing solely on being a lightweight, reliable tool for basic job automation.
cheek: a pico-sized declarative 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.
Jobs are defined in a simple YAML file, making schedules easy to write, version control, and share, as emphasized in the quick start with commands like './cheek run schedule.yaml'.
Designed as pico-sized and resource-efficient, it avoids bloat and is ideal for constrained environments like Raspberry Pi, highlighted in the project's focus on minimalism.
Runs independently without external dependencies, simplifying deployment to a single binary download and execution, as shown in the installation steps.
Focuses on excelling in single-machine setups, reducing complexity compared to distributed schedulers, which is a core philosophy stated in the description.
Explicitly states it 'does not compete for robustness,' meaning job failures or scheduler crashes lack automatic recovery mechanisms, making it unreliable for critical tasks.
Missing advanced features like job dependencies, retry policies, or built-in logging beyond basic execution, requiring users to implement these manually or with external tools.
Operates solely via command-line without a web dashboard, making it less accessible for non-technical users or those preferring visual monitoring and management.