nv_ingest.framework.orchestration.process package#

Submodules#

nv_ingest.framework.orchestration.process.dependent_services module#

Dependent services management for pipeline orchestration.

This module contains utilities for starting and managing dependent services that the pipeline requires, such as message brokers and other infrastructure.

nv_ingest.framework.orchestration.process.dependent_services.start_simple_message_broker(
broker_client: dict,
) Process[source]#

Starts a SimpleMessageBroker server in a separate process.

Parameters:

broker_client (dict) –

Broker configuration. Expected keys include:
  • ”port”: the port to bind the server to,

  • ”broker_params”: optionally including “max_queue_size”,

  • and any other parameters required by SimpleMessageBroker.

Returns:

The process running the SimpleMessageBroker server.

Return type:

multiprocessing.Process

nv_ingest.framework.orchestration.process.execution module#

nv_ingest.framework.orchestration.process.lifecycle module#

nv_ingest.framework.orchestration.process.strategies module#

nv_ingest.framework.orchestration.process.termination module#

Process termination utilities, isolated to avoid circular imports.

This module provides functions to terminate a process and its entire process group safely, without depending on pipeline construction or Ray types.

nv_ingest.framework.orchestration.process.termination.kill_pipeline_process_group(process) None[source]#

Kill a process and its entire process group.

Accepts either a multiprocessing.Process-like object exposing a pid attribute or a raw PID integer. Sends SIGTERM to the process group first, and escalates to SIGKILL if it does not terminate within a short grace period.

Parameters:

process (multiprocessing.Process | int) – Process handle (or a raw PID int) for the process whose process group should be terminated.

Module contents#