ocrd_network.runtime_data package

class ocrd_network.runtime_data.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]
class ocrd_network.runtime_data.DataHost(host: str, username: str, password: str, keypath: str, workers: List[Dict], servers: List[Dict])[source]

Bases: object

create_connection_client(client_type: str)[source]
deploy_network_agents(logger: Logger, mongodb_url: str, rabbitmq_url: str) None[source]
stop_network_agents(logger: Logger)[source]
resolve_processor_server_url(processor_name: str) str[source]
class ocrd_network.runtime_data.DataMongoDB(host: str, port: int, ssh_username: str | None, ssh_keypath: str | None, ssh_password: str | None, cred_username: str | None, cred_password: str | None, skip_deployment: bool, protocol: str = 'mongodb')[source]

Bases: DataNetworkService

deploy_mongodb(logger: Logger, image: str = 'mongo', detach: bool = True, remove: bool = True, env: List[str] | None = None, ports_mapping: Dict | None = None) str[source]
stop_service_mongodb(logger: Logger) None[source]
class ocrd_network.runtime_data.DataNetworkAgent(processor_name: str, deploy_type: DeployType, agent_type: AgentType, host: str, init_by_config: bool, pid: Any | None = None)[source]

Bases: object

class ocrd_network.runtime_data.DataRabbitMQ(host: str, port: int, ssh_username: str | None, ssh_keypath: str | None, ssh_password: str | None, cred_username: str | None, cred_password: str | None, skip_deployment: bool, protocol: str = 'amqp', vhost: str = '/')[source]

Bases: DataNetworkService

deploy_rabbitmq(logger: Logger, image: str = 'rabbitmq:3.12-management', detach: bool = True, remove: bool = True, env: List[str] | None = None, ports_mapping: Dict | None = None) str[source]
stop_service_rabbitmq(logger: Logger) None[source]
class ocrd_network.runtime_data.DataProcessingWorker(processor_name: str, deploy_type: DeployType, host: str, init_by_config: bool, pid: Any | None = None)[source]

Bases: DataNetworkAgent

deploy_network_agent(logger: Logger, connector_client, database_url: str, queue_url: str)[source]
class ocrd_network.runtime_data.DataProcessorServer(processor_name: str, deploy_type: DeployType, host: str, port: int, init_by_config: bool, pid: Any | None = None)[source]

Bases: DataNetworkAgent

deploy_network_agent(logger: Logger, connector_client, database_url: str)[source]

Submodules