Skip to content

Resolve "Workflow execution tracking"

Wout De Nolf requested to merge 12-workflow-execution-tracking into main

Closes #12 (closed)

Ewoks produces events with these fields:

Field Type Not None when Value
host_name str
process_id int
user_name str
job_id str random uuid by default
binding str|None using a scheduler
context str "workflow" or "node"
workflow_id str
node_id str|None context == "node"
task_id str|None context == "node"
type str "start", "end" or "progress"
time str ISO 8601 format in local timezone
error bool|None event == "end"
error_message str|None event == "end"
error_traceback str|None event == "end"
progress int|None event == "progress" number between 0 and 100
task_uri str|None
input_uris List[Dict]|None event == "start"
output_uris List[Dict]|None event == "start"
  • execinfo argument for execute_graph (job_id when a string). Same for the bindings.
  • handler registration through ewokscore.events.add_handler
  • handler registration through execinfo
  • sqlite3 handler for testing
  • emit task events (ewokscore)
  • emit workflow events (ewokscore and all the bindings)
  • execinfo CLI argument (including handler registration)
execinfo = {"job_id": ...,
            "handlers":[{"class": "ewokscore.events.handlers.EwoksSqlite3EventHandler",
                         "arguments": [{"name": "uri",
                                        "value": "file:/tmp/ewoks_event.db"}]}]
Edited by Wout De Nolf

Merge request reports