client.dag

The DAG captures the interconnected graph of tasks and their dependencies.

Attributes

logger

Classes

Dag

The DAG captures the interconnected graph of tasks and their dependencies.

Module Contents

client.dag.logger
class client.dag.Dag(requester: jobmon.core.requester.Requester | None = None)

Bases: object

The DAG captures the interconnected graph of tasks and their dependencies.

Directed Acyclic Graph.

The DAG captures the tasks (nodes) as they are related to each other in their dependency structure. The Dag is traversed in the order of node dependencies so a workflow run is a single instance of traversing through a dag. This object stores the nodes and communicates with the server with regard to itself.

Parameters:

requester (str) – url to communicate with the flask services.

nodes: Set[jobmon.client.node.Node]
requester = None
property dag_id: int

Database unique ID of this DAG.

add_node(node: jobmon.client.node.Node) None

Add a node to this dag.

Parameters:

node (jobmon.client.node.Node) – Node to add to the dag

bind(chunk_size: int = 500) int

Retrieve an id for a matching dag from the server.

If it doesn’t exist, first create one, including its edges.

validate() None

Validate the nodes and their dependencies.