ocrd_network.runtime_data.deployer module

Abstraction of the deployment functionality for processors.

The Processing Server provides the configuration parameters to the Deployer agent. The Deployer agent runs the RabbitMQ Server, MongoDB and the Processing Hosts. Each Processing Host may have several Processing Workers. Each Processing Worker is an instance of an OCR-D processor.

class ocrd_network.runtime_data.deployer.Deployer(config_path: str)[source]

Bases: object

find_matching_network_agents(worker_only: bool = False, server_only: bool = False, docker_only: bool = False, native_only: bool = False, str_names_only: bool = False, unique_only: bool = False, sort: bool = False) List[str] | List[object][source]

Finds and returns a list of matching data objects of type: DataProcessingWorker and DataProcessorServer.

worker_only match only worker network agents (DataProcessingWorker) server_only match only server network agents (DataProcessorServer) docker_only match only docker network agents (DataProcessingWorker and DataProcessorServer) native_only match only native network agents (DataProcessingWorker and DataProcessorServer) str_names_only returns the processor_name filed instead of the Data* object unique_only remove duplicate names from the matches sort sort the result

worker_only and server_only are mutually exclusive to each other docker_only and native_only are mutually exclusive to each other unique_only is allowed only together with str_names_only

resolve_processor_server_url(processor_name) str[source]
deploy_network_agents(mongodb_url: str, rabbitmq_url: str) None[source]
stop_network_agents() None[source]
deploy_rabbitmq() str[source]
stop_rabbitmq()[source]
deploy_mongodb() str[source]
stop_mongodb()[source]
stop_all() None[source]

The order of stopping is important to optimize graceful shutdown in the future. If RabbitMQ server is stopped before stopping Processing Workers that may have a bad outcome and leave Processing Workers in an unpredictable state.

start_uds_mets_server(ws_dir_path: str) Path[source]
stop_uds_mets_server(mets_server_url: str, stop_with_pid: bool = False) None[source]