| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| checksums-sha256.txt | 2026-06-12 | 370 Bytes | |
| runwisp-darwin-arm64.tar.gz | 2026-06-12 | 9.5 MB | |
| runwisp-darwin-x64.tar.gz | 2026-06-12 | 10.2 MB | |
| runwisp-linux-arm64.tar.gz | 2026-06-12 | 9.1 MB | |
| runwisp-linux-x64.tar.gz | 2026-06-12 | 10.0 MB | |
| README.md | 2026-06-12 | 5.3 kB | |
| v0.9.0 source code.tar.gz | 2026-06-12 | 4.7 MB | |
| v0.9.0 source code.zip | 2026-06-12 | 5.2 MB | |
| Totals: 8 Items | 48.8 MB | 0 | |
Added
runwisp import cron/runwisp import supervisord. Convert an existing crontab or supervisord config into an annotatedrunwisp.toml, with inline# TODOs for anything that needs a human. See Migrating from cron and Migrating from supervisord.depends_onon[services.*]. Gate a service's boot on other services becoming healthy, with reverse-order teardown on shutdown — boot ordering only, never a workflow DAG, and it never deadlocks (a dependency that won't come up starts the dependent anyway with a warning). See Boot order withdepends_on.includeon[daemon]. Glob extra TOML files (e.g.conf.d/*.toml) into the config so tasks can be split across files; collections accumulate, names stay unique across files, and singleton tables stay in the root. See Splitting config across files.runwisp reload(andSIGHUP) for explicit, validated config reload. Pick uprunwisp.tomltask add/change/remove edits in a running daemon without a restart; validate-first, so a bad edit or a restart-only change is rejected and the live set is untouched. See Reload.jitteron[tasks.*]/[defaults]. Pace cron tasks that share a fire time through a daemon-wide one-at-a-time gate so they take turns instead of stampeding — each runs as soon as the gate frees and slips up to its window only under contention. See jitter.- Missed-run alerts. A scheduled run skipped because the daemon was down is detected on restart, recorded as a browsable
missedrun, and raised as a failure-level alert — silence it per task or globally withnotify_on_missed. See Missed ticks. working_dirandshellon[tasks.*]/[services.*]. Run a command in a specific directory and under a chosen interpreter (e.g./bin/bash);shellalso takes a[defaults]value. See Working directory & shell.exit_codeson[tasks.*]/[services.*]/[defaults]. List the exit codes treated as success (default[0]) so a non-zero "nothing to do" code doesn't trip retries or alerts. See Retries & timeout.stop_signalon[tasks.*]/[services.*]/[defaults]. Choose the signal that opens the stop ladder before SIGKILL (defaultSIGTERM);SIGKILLskips the grace window. See Retries & timeout.priorityandautostarton[services.*].priorityfixes the boot start order (lowest first, deterministic — not a dependency);autostart = falsedefines a service that boots stopped until you start it from the UI/API. See Startup.umaskon[tasks.*]/[services.*]. Set the octal file-creation mask for a run (e.g."027"); applied per-process so concurrent runs never affect each other. See Working directory & shell.run_on_starton[tasks.*]. Fire a task once at daemon boot, on top of anycron— the@rebootequivalent, taggedtriggered_by = startup. See Scheduling.useron[tasks.*]/[services.*]. Run as another OS user (useroruser:group, name or numeric id) when the daemon runs as root. See Working directory & shell.start_retrieson[services.*]/[defaults], plus FATAL services. A service that keeps fast-failing (exits belowhealthy_after) now toleratesstart_retriesfailed starts in a row before going FATAL — it stops restarting, records astart_failedrun, and rings the bell instead of flapping forever. See When a service can't start.- Six-field cron with second precision.
cronnow accepts an optional leading seconds field, so*/30 * * * * *fires every 30 seconds aligned to the wall clock. Existing 5-field specs are unchanged. See Scheduling.
Changed
backoff_reset_afterrenamed tohealthy_after, which now governs both the restart-backoff reset and the failed-start/FATAL threshold. See Healthy threshold.
Fixed
- Spurious "managed by systemd" quit prompt. A daemon spawned by
runwisp/runwisp demofrom a systemd-scoped terminal no longer inheritsINVOCATION_IDand falsely self-reports as service-managed, so the TUI's quit dialog offers "Shut Down" again.