patroni.postgresql.callback_executor module

class patroni.postgresql.callback_executor.CallbackAction(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)View on GitHub

Bases: str, Enum

NOOP = 'noop'
ON_RELOAD = 'on_reload'
ON_RESTART = 'on_restart'
ON_ROLE_CHANGE = 'on_role_change'
ON_START = 'on_start'
ON_STOP = 'on_stop'
_generate_next_value_(start, count, last_values)View on GitHub

Generate the next value when not given.

name: the name of the member start: the initial start value or None count: the number of existing members last_values: the list of values assigned

_member_map_ = {'NOOP': CallbackAction.NOOP, 'ON_RELOAD': CallbackAction.ON_RELOAD, 'ON_RESTART': CallbackAction.ON_RESTART, 'ON_ROLE_CHANGE': CallbackAction.ON_ROLE_CHANGE, 'ON_START': CallbackAction.ON_START, 'ON_STOP': CallbackAction.ON_STOP}
_member_names_ = ['NOOP', 'ON_START', 'ON_STOP', 'ON_RESTART', 'ON_RELOAD', 'ON_ROLE_CHANGE']
_member_type_

alias of str

_new_member_(**kwargs)

Create and return a new object. See help(type) for accurate signature.

_unhashable_values_ = []
_use_args_ = True
_value2member_map_ = {'noop': CallbackAction.NOOP, 'on_reload': CallbackAction.ON_RELOAD, 'on_restart': CallbackAction.ON_RESTART, 'on_role_change': CallbackAction.ON_ROLE_CHANGE, 'on_start': CallbackAction.ON_START, 'on_stop': CallbackAction.ON_STOP}
_value_repr_()

Return repr(self).

class patroni.postgresql.callback_executor.CallbackExecutorView on GitHub

Bases: CancellableExecutor, Thread

__init__()View on GitHub

This constructor should always be called with keyword arguments. Arguments are:

group should be None; reserved for future extension when a ThreadGroup class is implemented.

target is the callable object to be invoked by the run() method. Defaults to None, meaning nothing is called.

name is the thread name. By default, a unique name is constructed of the form “Thread-N” where N is a small decimal number.

args is a list or tuple of arguments for the target invocation. Defaults to ().

kwargs is a dictionary of keyword arguments for the target invocation. Defaults to {}.

If a subclass overrides the constructor, it must make sure to invoke the base class constructor (Thread.__init__()) before doing anything else to the thread.

call(cmd: List[str]) NoneView on GitHub

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() NoneView on GitHub

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.OnReloadExecutorView on GitHub

Bases: CancellableSubprocess

call_nowait(cmd: List[str]) NoneView on GitHub

Run one on_reload callback at most.

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