Supervisor Abstraction
This module implements a Supervisor class.
An example of supervisor declaration:
<entry>
type = supervisor
name = svisor1
window = 12
adjustments = 3
strategy = one_for_one
expected = none
<children>
.... other supervisors or services
</children>
</entry>
Parameters
- name
- unique name of the supervisor.
- window
- window of supervision cycles which should be considered when defining
if a supervisor is in a failing state.
- adjustments
- maximum number of cycles on which a child adjustment was needed
in the given window of supervision cycle in order to consider
it a failure.
- strategy
- one_for_one: if a child process terminates, only that process
is restarted.
- one_for_all: if a child process terminates, all other
child processes are terminated and then all child processes,
including the terminated one, are restarted.
- rest_for_one: If a child process terminates, the rest of the
child processes i.e. the child processes after the terminated
process in start order are terminated. Then the terminated
child process and the rest of the child processes are restarted.
- expected
- none|running|stopped
- children
- children structure.
Required Parameters
- children section is required or supervisor is not useful
Default Parameters
- name = supervisor
- expected = none
- window = 12
- adjustments = 3
- strategy = one_for_one
Copyright (C) 2013 CERN