services: shepherd: Add respawn-limit and respawn-delay.
* gnu/services/shepherd.scm (<shepherd-service>): Add respawn-limit and respawn-delay. (shepherd-service-file): Emit the two values into the shepherd service constructor form. Change-Id: I54408e8fb4bcc0956d9610771bf5c566fdc2914c Signed-off-by: Ludovic Courtès <ludo@gnu.org>master
parent
5d2bc09f0a
commit
dde76db33f
|
@ -43143,6 +43143,15 @@ shepherd, The GNU Shepherd Manual}, for more info.
|
|||
Whether to restart the service when it stops, for instance when the
|
||||
underlying process dies.
|
||||
|
||||
@item @code{respawn-limit} (default: @code{#f})
|
||||
Set a limit on how many times and how frequently a service may be
|
||||
restarted by Shepherd before it is disabled. @xref{Defining
|
||||
Services,,, shepherd, The GNU Shepherd Manual}, for details.
|
||||
|
||||
@item @code{respawn-delay} (default: @code{#f})
|
||||
When true, this is the delay in seconds before restarting a failed
|
||||
service.
|
||||
|
||||
@item @code{start}
|
||||
@itemx @code{stop} (default: @code{#~(const #f)})
|
||||
The @code{start} and @code{stop} fields refer to the Shepherd's
|
||||
|
|
|
@ -55,6 +55,8 @@
|
|||
shepherd-service-canonical-name
|
||||
shepherd-service-requirement
|
||||
shepherd-service-one-shot?
|
||||
shepherd-service-respawn-limit
|
||||
shepherd-service-respawn-delay
|
||||
shepherd-service-respawn?
|
||||
shepherd-service-start
|
||||
shepherd-service-stop
|
||||
|
@ -211,6 +213,10 @@ DEFAULT is given, use it as the service's default value."
|
|||
(default #f))
|
||||
(respawn? shepherd-service-respawn? ;Boolean
|
||||
(default #t))
|
||||
(respawn-limit shepherd-service-respawn-limit
|
||||
(default #f))
|
||||
(respawn-delay shepherd-service-respawn-delay
|
||||
(default #f))
|
||||
(start shepherd-service-start) ;g-expression (procedure)
|
||||
(stop shepherd-service-stop ;g-expression (procedure)
|
||||
(default #~(const #f)))
|
||||
|
@ -309,6 +315,14 @@ stored."
|
|||
#:one-shot? '#$(shepherd-service-one-shot? service)
|
||||
|
||||
#:respawn? '#$(shepherd-service-respawn? service)
|
||||
#$@(if (shepherd-service-respawn-limit service)
|
||||
`(#:respawn-limit
|
||||
,(shepherd-service-respawn-limit service))
|
||||
'())
|
||||
#$@(if (shepherd-service-respawn-delay service)
|
||||
`(#:respawn-delay
|
||||
,(shepherd-service-respawn-delay service))
|
||||
'())
|
||||
#:start #$(shepherd-service-start service)
|
||||
#:stop #$(shepherd-service-stop service)
|
||||
#:actions
|
||||
|
|
Reference in New Issue