client.swarm.run ================ .. py:module:: client.swarm.run .. autoapi-nested-parse:: Factory functions for running workflow runs. This module provides the primary entry points for executing workflows: - `run_workflow()`: Execute a workflow from an in-memory Workflow object - `resume_workflow_run()`: Resume a workflow from database state These are the main public API for the swarm package. Attributes ---------- .. autoapisummary:: client.swarm.run.logger Functions --------- .. autoapisummary:: client.swarm.run.run_workflow client.swarm.run.resume_workflow_run Module Contents --------------- .. py:data:: logger .. py:function:: run_workflow(workflow: jobmon.client.workflow.Workflow, workflow_run_id: int, distributor_alive: Callable[Ellipsis, bool], status: str = WorkflowRunStatus.BOUND, config: Optional[jobmon.client.swarm.orchestrator.WorkflowRunConfig] = None, timeout: int = 36000, requester: Optional[jobmon.core.requester.Requester] = None) -> jobmon.client.swarm.orchestrator.OrchestratorResult Execute a workflow run. This is the primary entry point for running workflows. It: 1. Builds the swarm state from the workflow 2. Runs the orchestrator to completion 3. Returns complete execution results This function handles being called from both synchronous code and from within an already-running event loop (e.g., Jupyter notebooks, IPython). :param workflow: The Workflow object to execute. :param workflow_run_id: The workflow run ID (from WorkflowRunFactory). :param distributor_alive: Callable that returns True while distributor is alive. :param status: Initial workflow run status (default: BOUND). :param config: Optional WorkflowRunConfig. Uses defaults if not provided. :param timeout: Maximum execution time in seconds. :param requester: Optional requester for server communication. :returns: OrchestratorResult with complete execution results. :raises RuntimeError: If timeout exceeded. :raises DistributorNotAlive: If distributor dies during execution. .. py:function:: resume_workflow_run(workflow_id: int, workflow_run_id: int, distributor_alive: Callable[Ellipsis, bool], status: str = WorkflowRunStatus.BOUND, config: Optional[jobmon.client.swarm.orchestrator.WorkflowRunConfig] = None, timeout: int = 36000, requester: Optional[jobmon.core.requester.Requester] = None) -> jobmon.client.swarm.orchestrator.OrchestratorResult Resume a workflow run from database state. Used for resume scenarios where we need to reconstruct the workflow state from the database and continue execution. This function handles being called from both synchronous code and from within an already-running event loop (e.g., Jupyter notebooks, IPython). :param workflow_id: The workflow to resume. :param workflow_run_id: The new workflow run ID. :param distributor_alive: Callable that returns True while distributor is alive. :param status: Initial workflow run status (default: BOUND). :param config: Optional WorkflowRunConfig. Uses defaults if not provided. :param timeout: Maximum execution time in seconds. :param requester: Optional requester for server communication. :returns: OrchestratorResult with complete execution results. :raises RuntimeError: If timeout exceeded. :raises DistributorNotAlive: If distributor dies during execution.