Exemplo n.º 1
0
 def submittable_nodes(self):
     nodes = []
     for nodeid in self.state.dag.nodes():
         nodeobj = self.state.dag.getNode(nodeid)
         if nodeobj.submit_time:
             continue
         if dagstate.upstream_ok(self.state.dag, nodeobj):
             nodes += [nodeid]
     return nodes
Exemplo n.º 2
0
def submittable_nodes(adageobj):
    '''
    main generator to iterate through nodes in the DAG and yield the ones that are submittable

    :param adageobj: the adage workflow object
    '''
    log.debug("process DAG")
    dag = adageobj.dag
    for node in nx.topological_sort(dag):
        nodeobj = dag.getNode(node)
        log.debug("working on node: %s with obj %s",node,nodeobj)
        if nodeobj.submit_time:
            log.debug("node already submitted. continue")
            continue;
        if dagstate.upstream_ok(dag,nodeobj):
            yield nodeobj
Exemplo n.º 3
0
def submittable_nodes(adageobj):
    '''
    main generator to iterate through nodes in the DAG and yield the ones that are submittable

    :param adageobj: the adage workflow object
    '''
    log.debug("process DAG")
    dag = adageobj.dag
    for node in nx.topological_sort(dag):
        nodeobj = dag.getNode(node)
        log.debug("working on node: %s with obj %s",node,nodeobj)
        if nodeobj.submit_time:
            log.debug("node already submitted. continue")
            continue;
        if dagstate.upstream_ok(dag,nodeobj):
            yield nodeobj