parsl.dataflow.states.States

class parsl.dataflow.states.States(value)[source]

Enumerates the states a parsl task may be in.

These states occur inside the task record for a task inside a DataFlowKernel and in the monitoring database.

In a single successful task execution, tasks will progress in this sequence:

pending -> launched -> running -> exec_done

Other states represent deviations from this path, either due to failures, or to deliberate changes to how tasks are executed (for example due to join_app, or memoization).

All tasks should end up in one of the states listed in FINAL_STATES.

__init__()[source]

Attributes

unsched

pending

Task is known to parsl but cannot run yet.

running

Task is running on a resource.

exec_done

Task has been executed successfully.

failed

Task has failed and no more attempts will be made to run it.

dep_fail

Dependencies of this task failed, so it is marked as failed without even an attempt to launch it.

launched

Task has been passed to a ParslExecutor for execution.

fail_retryable

Task has failed, but can be retried

memo_done

Task was found in the memoization table, so it is marked as done without even an attempt to launch it.

joining

Task is a join_app, joining on internal tasks.

dep_fail = 5[source]

Dependencies of this task failed, so it is marked as failed without even an attempt to launch it.

exec_done = 3[source]

Task has been executed successfully.

fail_retryable = 8[source]

Task has failed, but can be retried

failed = 4[source]

Task has failed and no more attempts will be made to run it.

joining = 10[source]

Task is a join_app, joining on internal tasks. The task has run its own Python code, and is now waiting on other tasks before it can make further progress (to a done/failed state).

launched = 7[source]

Task has been passed to a ParslExecutor for execution.

memo_done = 9[source]

Task was found in the memoization table, so it is marked as done without even an attempt to launch it.

pending = 0[source]

Task is known to parsl but cannot run yet. Usually, a task cannot run because it is waiting for dependency tasks to complete.

running = 2[source]

Task is running on a resource. This state is special - a DFK task record never goes to States.running state; but the monitoring database may represent a task in this state based on non-DFK information received from monitor_wrapper.

unsched = -1[source]