← all releases
v1.9.0
Added
runwisp reloadon a RunWisp an SDK app started asks the app to read its tasks again, so a deploy reaches the schedule without restarting the worker. The PHP SDK addsrunwisp:reloadfor Laravel, Symfony and CodeIgniter (php runwisp.php reloadfor a plain script); a deploy that broke the app fails the reload with PHP’s error and keeps the running schedule.runwisp:workandrunwisp:checkin Laravel warn when a crontab still runsschedule:runorschedule:work, since that runs every scheduled task twice.[daemon] api_tokensandviewer_api_tokensaccept static bearer tokens for the REST API, full and read-only, so scripts and monitoring can call it without logging in. A reload applies changes.
Changed
- A Laravel schedule entry whose
description()is a sentence is now named after its command or job and keeps the sentence as its task description. Tasks that were named from such a description get new names, so their run history starts fresh. runwisp status,password,reloadand the other commands that talk to a daemon find an SDK app’s daemon from the app’s root, instorage/runwisp,var/runwisporwritable/runwisp, without--data.- When an app supplies the config,
runwisp listshows the app’s tasks,runwisp validatepoints to the app’s own check command, and the TUI points torunwisp statusfor config warnings instead ofrunwisp validate. - The same-second warning lists at most 5 task names, and for SDK tasks says to set
jitterin each task’s options. - The PHP and JavaScript SDKs note “(listening on all interfaces)” in the dashboard line when the host is
0.0.0.0or::, andrunwisp:checkprints warnings after the task list. runwisp import cronnames a PHP framework line such asphp artisan payments:reconcileafter its subcommand (payments-reconcile) instead ofphp, and turns a leadingcd DIR &&into the task’sworking_dir.
Fixed
- Runs that Laravel skips (
when(),skip(),between(), maintenance mode,withoutOverlapping()) are recorded as skipped, not succeeded. config/runwisp.phpreadsRUNWISP_*throughenv(), so the settings still apply afterphp artisan config:cache. If you published it before, republish it or wrap its values inenv()the same way.- The JavaScript SDK reports a daemon that resets the connection mid-answer as “RunWisp hung up during …”, not a bare
read ECONNRESET. - The PHP SDK reports a daemon that stops mid-answer as “RunWisp hung up during …”, instead of taking the cut-off body as the answer.
- A command run as a user that cannot open the daemon’s socket says the daemon belongs to another user and names
sudo -u <owner> runwisp ..., instead of suggesting you start a second daemon. runwisp statuswords the changed-config notice as an included or env file when an app supplies the config, since there is norunwisp.toml.runwisp takeover --dry-runrun from a binary under/tmpprints the whole plan and lists the binary path as the blocker, instead of stopping before the plan. It still exits non-zero.- On macOS,
runwisp service installrefuses a binary or data directory under/tmpor/var/tmplike it does on Linux, also when the path resolves to/private/tmp. runwisp service uninstallremoves the password and environment drop-ins it saved beside the systemd unit, and prints the config and data paths it leaves in place.
- v1.9.0 latest
- v1.8.0
- v1.7.1
- v1.7.0
- v1.6.0
- v1.5.1
- v1.5.0
- v1.4.0
- v1.3.1
- v1.3.0
- v1.2.0
- v1.1.0
- v1.0.1
- v1.0.0
- v0.16.4 pre
- v0.16.3 pre
- v0.16.2 pre
- v0.16.1 pre
- v0.16.0 pre
- v0.15.1 pre
- v0.15.0 pre
- v0.14.0 pre
- v0.13.2 pre
- v0.13.1 pre
- v0.13.0 pre
- v0.12.0 pre
- v0.11.0 pre
- v0.10.0 pre
- v0.9.0 pre
- v0.8.0 pre
- v0.7.0 pre
- v0.6.0 pre
- v0.5.0 pre
- v0.4.0 pre
- v0.3.0 pre
- v0.2.0 pre
- v0.1.2 pre
- v0.1.0 pre