client.dag ========== .. py:module:: client.dag .. autoapi-nested-parse:: The DAG captures the interconnected graph of tasks and their dependencies. Attributes ---------- .. autoapisummary:: client.dag.logger Classes ------- .. autoapisummary:: client.dag.Dag Module Contents --------------- .. py:data:: logger .. py:class:: Dag(requester: Optional[jobmon.core.requester.Requester] = None) Bases: :py:obj:`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. :param requester: url to communicate with the flask services. :type requester: str .. py:attribute:: nodes :type: Set[jobmon.client.node.Node] .. py:attribute:: requester :value: None .. py:property:: dag_id :type: int Database unique ID of this DAG. .. py:method:: add_node(node: jobmon.client.node.Node) -> None Add a node to this dag. :param node: Node to add to the dag :type node: jobmon.client.node.Node .. py:method:: 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. .. py:method:: validate() -> None Validate the nodes and their dependencies.