mode.types.services

Type classes for mode.services.

class mode.types.services.DiagT(service: mode.types.services.ServiceT)[source]

Diag keeps track of a services diagnostic flags.

abstract set_flag(flag: str) → None[source]
abstract unset_flag(flag: str) → None[source]
class mode.types.services.ServiceT(*, beacon: mode.utils.types.trees.NodeT = None, loop: asyncio.events.AbstractEventLoop = None)[source]

Abstract type for an asynchronous service that can be started/stopped.

See also

mode.Service.

wait_for_shutdown = False
restart_count = 0
supervisor = None
abstract add_dependency(service: mode.types.services.ServiceT) → mode.types.services.ServiceT[source]
abstract async add_runtime_dependency(service: mode.types.services.ServiceT) → mode.types.services.ServiceT[source]
abstract async add_async_context(context: AsyncContextManager) → Any[source]
abstract add_context(context: ContextManager) → Any[source]
abstract async start() → None[source]
abstract async maybe_start() → None[source]
abstract async crash(reason: BaseException) → None[source]
abstract async stop() → None[source]
abstract service_reset() → None[source]
abstract async restart() → None[source]
abstract async wait_until_stopped() → None[source]
abstract set_shutdown() → None[source]
abstract property started
abstract property crashed
abstract property should_stop
abstract property state
abstract property label
abstract property shortlabel
property beacon
abstract property loop
abstract property crash_reason