Another YAML-based scheduler
Project description
Cronico
Cronico is a lightweight, YAML-based task scheduler for Unix-like systems.
It lets you define recurring jobs with flexible cron expressions — supporting traditional minute-based syntax, extended formats with seconds, and common shorthand aliases (@daily, @hourly, etc.).
Tasks can include:
- Retry policies with configurable attempts.
- Timeouts to kill long-running processes.
- Environment injection from .env files or inline variables.
- Working directory control per task.
- Streaming or buffered logs for stdout/stderr.
Cronico is designed to run as a long-lived daemon (via systemd or similar) and can reload its configuration on SIGHUP without restarting the process.
tasks:
# Classic: every 5 minutes
example_task:
cron: "*/5 * * * *"
command: "echo 'Hello, World!'"
retry_on_error: true
max_attempts: 3
env_file: ".env"
timeout: 60 # seconds
working_dir: "/path/to/dir"
environment:
MY_VAR: "value"
# Extended with seconds: every minute, at the 10th second
every_minute_at_second_10:
cron:
minute: "*"
hour: "*"
day: "*"
month: "*"
weekday: "*"
second: 10
command: "echo 'Run at second 10 of every minute'"
# Classic with seconds: every 30 seconds
every_30_seconds:
cron: "*/1 * * * * 0,30"
command: "echo 'This runs at second 0 and 30 of each minute'"
# Daily at 03:00:15
daily_with_seconds:
cron:
minute: 0
hour: 3
day: "*"
month: "*"
weekday: "*"
second: 15
command: "echo 'Daily at 03:00:15'"
# Shorthand: daily, at 00:00
short_hand:
cron: "@daily"
command: |
echo "Supported aliases:"
echo "- @yearly: 0 0 1 1 *"
echo "- @annually: 0 0 1 1 *"
echo "- @monthly: 0 0 1 * *"
echo "- @weekly: 0 0 * * 0"
echo "- @daily: 0 0 * * *"
echo "- @midnight: 0 0 * * *"
echo "- @hourly: 0 * * * *"
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cronico-0.9.5.tar.gz.
File metadata
- Download URL: cronico-0.9.5.tar.gz
- Upload date:
- Size: 7.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee3798aeea0d7470bad2632e634f33f3da69eb543ef1918209cbdbc30450861b
|
|
| MD5 |
60c99b28760c4c190e0e1c2060398fab
|
|
| BLAKE2b-256 |
9409784521ac709e327b95fe0de5b3a2800940da5b8ec72fb22dfe8f6259da2b
|
File details
Details for the file cronico-0.9.5-py3-none-any.whl.
File metadata
- Download URL: cronico-0.9.5-py3-none-any.whl
- Upload date:
- Size: 7.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c7de3cfaa157afbbb44879b9c81c833f19267c2b9d1f1caa85da97234add9c1f
|
|
| MD5 |
1b8c61059ad398dbe3b6a1f9622b5ca6
|
|
| BLAKE2b-256 |
ad59974a23bc111e9415c0f0257e1082786b7c920c5d6cf52d963931e81e2331
|