Ewoks workflow event schema#

Events are emitted when executing a workflow. They are dictionaries with the following fields:

host_name: str#

Host name where the workflow is running.

process_id: int#

Process id of the workflow execution.

user_name: str#

Name of the user under which the workflow is running.

job_id: int#

Job id. Random uuid by default.

engine: str | None#

Execution engine.

None unless an execution engine is used.

context: str = "job" | "workflow" | "node"#

Event context. Can only take the values above.

node_id: str | None#

Id of the node to which the event belongs.

Only defined if context == "node".

task_id: str | None#

Identifier of the node task.

Only defined if context == "node".

type: str = "start" | "end" | "progress"#

Event type. Can only take the values above.

Certain event fields are None unless the type has a specific value (see below).

time: str#

Time of event creation. The time is given in ISO 8601 format in local timezone.

error: bool | None#

Flag that tells if an error occurred.

Only defined if type == "end".

error_message: str | None#

Message of the error if one occurred.

Only defined if type == "end".

error_traceback: str | None#

Traceback of the error if one occurred.

Only defined if type == "end".

progress: int | None#

Number between 0 and 100 representing the progress if provided by the task.

Can only be defined if type == "progress".

task_uri: str | None#

URI where the task outputs are stored (one URI for all task outputs).

Only defined if persistence is enabled.

input_uris: list[dict] | None#

URIs where inputs are stored (one URI per input variable).

Only defined if event == "start" and persistence is enabled.

output_uris: list[dict] | None#

URIs where the outputs are stored (one URI per output variable).

Only defined if event == "start" and persistence is enabled.