WattsonMultiService#

class wattson.services.wattson_multi_service.WattsonMultiService(service_configuration: ServiceConfiguration, network_node: WattsonNetworkNode, services: List[WattsonService] | None = None)#

Bases: WattsonService

A wrapper to manage multiple individual services at once

Methods

__init__

is_killed

returns:

Whether the service has been killed.

is_running

returns:

Whether the service is currently running.

start

Start the service.

stop

Stop the service.

Attributes

id

name

__init__(service_configuration: ServiceConfiguration, network_node: WattsonNetworkNode, services: List[WattsonService] | None = None)#
is_killed() bool#
Returns:

Whether the service has been killed.

Return type:

bool

is_running() bool#
Returns:

Whether the service is currently running.

Return type:

bool

start(refresh_config: bool = False) bool#

Start the service.

Parameters:

refresh_config (bool, optional) – Whether to refresh the config even if it already exists. (Default value = False)

Returns:

True iff the service has been started.

Return type:

bool

stop(wait_seconds: float = 5, auto_kill: bool = False, async_callback: Callable[[WattsonServiceInterface], None] | None = None) bool#

Stop the service.

Parameters:
  • wait_seconds (float, optional) – Number of seconds to wait for the service to gracefully terminate. (Default value = 5)

  • auto_kill (bool, optional) – Whether to kill the service automatically after the waiting timeout has been exceeded. (Default value = False)

  • async_callback (Optional[Callable[['WattsonServiceInterface'], None]], optional) – An optional callback to call once the service has terminated. Makes the stop method return immediately. (Default value = None)

Returns:

None if an async_callback is given, else True iff the service has been terminated.

Return type:

bool