patroni.postgresql.callback_executor module

class patroni.postgresql.callback_executor.CallbackAction(value)

Bases: str, enum.Enum

An enumeration.

NOOP = 'noop'
ON_RELOAD = 'on_reload'
ON_RESTART = 'on_restart'
ON_ROLE_CHANGE = 'on_role_change'
ON_START = 'on_start'
ON_STOP = 'on_stop'
class patroni.postgresql.callback_executor.CallbackExecutor

Bases: patroni.postgresql.cancellable.CancellableExecutor, threading.Thread

call(cmd: List[str])None

Executes one callback at a time.

Already running command is killed (including child processes). If it couldn’t be killed we wait until it finishes.

Parameters

cmd – command to be executed

run()None

Method representing the thread’s activity.

You may override this method in a subclass. The standard run() method invokes the callable object passed to the object’s constructor as the target argument, if any, with sequential and keyword arguments taken from the args and kwargs arguments, respectively.

class patroni.postgresql.callback_executor.OnReloadExecutor

Bases: patroni.postgresql.cancellable.CancellableSubprocess

call_nowait(cmd: List[str])None

Run one on_reload callback at most.

To achieve it we always kill already running command including child processes.