synit/packaging/packages/synit-config/files/etc/syndicate/boot/010-run-oneshot.pr

20 lines
565 B
Plaintext

; Sending <run-oneshot SOMECOMMAND RESTARTPOLICY> causes the command to be run.
;
?? <run-oneshot ?argv ?restartPolicy> [
let ?id = timestamp
let ?facet = facet
let ?d = <temporary-exec $id $argv>
<run-service <daemon $d>>
<daemon $d {
argv: $argv,
readyOnStart: #f,
restart: $restartPolicy,
}>
? <service-state <daemon $d> complete> [$facet ! stop]
? <service-state <daemon $d> failed> [$facet ! stop]
]
; If the restart policy is not specified, it is defaulted to `on-error`.
;
?? <run-oneshot ?argv> ! <run-oneshot $argv on-error>