mode.worker — mode-ng 0.4.0 documentation

# `mode.worker`

Worker - Starts services from the command-line.

Workers add signal handling, logging, and other things required to start and manage services in a process environment.

class mode.worker.Worker(*services: ServiceT, debug: bool = False, quiet: bool = False, log_level: Severity = 20, log_file: str | os.PathLike | IO | None = None, log_handlers: Iterable[Handler] | None = None, redirect_stdouts: bool = True, redirect_stdouts_level: Severity = 30, stdout: IO | None = <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>, stderr: IO | None = <_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf-8'>, override_logging: bool = True, logging_config: dict | None = None, console_port: int = 50101, blocking_timeout: Seconds = 10.0, daemon: bool = True, loop: asyncio.AbstractEventLoop | None = None, **kwargs: Any)

  Start mode service from the command-line.

  BLOCK_DETECTOR: ClassVar[str] = 'mode.debug:BlockingDetector'
  async_exit_stack: AsyncExitStack
  property blocking_detector: BlockingDetector
  blocking_timeout: Seconds
  carp(msg: str) → None

    Write warning to standard err.

  console_port: int
  debug: bool
  async default_on_first_start() → None
  diag: DiagT
  execute_from_commandline() → NoReturn
  exit_stack: ExitStack
  install_signal_handlers() → None
  log: CompositeLogger
  log_file: str | os.PathLike | IO | None
  log_handlers: list[Handler]
  log_level: Severity | None
  logger: logging.Logger = <Logger mode.worker (WARNING)>
  logging_config: dict | None
  async maybe_start_blockdetection() → None
  async on_execute() → None
  async on_first_start() → None

    Service started for the first time in this process.

  on_init_dependencies() → Iterable[ServiceT]

    Return list of service dependencies for this service.

  on_setup_root_logger(logger: Logger, level: int) → None
  async on_started() → None

    Service has started.

  on_worker_shutdown() → None
  quiet: bool
  redirect_stdouts: bool
  redirect_stdouts_level: int
  say(msg: str) → None

    Write message to standard out.

  services: Iterable[ServiceT]
  stderr: IO
  stdout: IO
  stop_and_shutdown() → None