Querying Workflow (Lattice) Execution Status in a Notebook#
Once you have dispatched a workflow, use the Covalent Result object to check run status of the lattice programmatically. You can also check the status of individual electrons.
Prerequisites#
Define and run a workflow:
[1]:
import time
import covalent as ct
@ct.electron
def add(x, y):
return x + y
@ct.electron
def multiply(x, y):
time.sleep(5)
return x * y
@ct.lattice
def workflow(x, y):
res_1 = add(x=x, y=y)
return multiply(x=res_1, y=y)
dispatch_id = ct.dispatch(workflow)(x=2, y=3)
Procedure#
Retrieve the
resultobject using the dispatch ID with thect.get_result()function.
To retrieve the result only once the computation is completed, set wait=True. Otherwise, set wait=False.
[2]:
result = ct.get_result(dispatch_id=dispatch_id, wait=False)
The dispatch status is maintained in the
statusattribute of the result object. While the computations are running, the status isRUNNING:
[3]:
print(result.status)
RUNNING
The result object is updated continuously until the workflow is finished. The final status can be one of several values, including
COMPLETED,FAILED, andCANCELED.
To check the computation status again, re-retrieve the results object:
[4]:
result = ct.get_result(dispatch_id=dispatch_id, wait=True)
print(result.status)
COMPLETED