Orquesta workflows take ages to start the first action

Complex orquesta workflows take ages to start the first action. I have seen workflows taking as much as 45 min to start the first action. Although it runs smoothly after that. Is there a way to improve this performance issue.

We didn’t see anything dramatic (45mins!) like that before.

There seems to be something very specific about your environment. Please provide more info about the environment you’re in like CPU/Memory resources, load, number of workflows, workflow logic, load, OS, cloud, scaling strategy, eg what’s specific about your config.

I am doing POC for orquesta and for that I am using stand alone stackstorm set up on a single server (centos 7 - 4 core 32 gb ram) with no other process running on it. Also as of now i don’t have any other workflow running on this system.
Its not possible for me to share workflow here but the workflow has approx 70 tasks with multiple branches such that a successful path can have around 40 tasks to execute.
We have been using the mistral flow for the similar process (same number of tasks) very effectively with multiple flows running in parallel but with orquesta i am facing this strange issue

Try to work on isolating the issue if it’s a problem with the specific orquestra workflow part or is it with the system. For example, such waits could be related for example to RabbitMQ issues.

We have a similar situation. The workflow has approximately 20 tasks and sub workflows and a combination of mistral/Orquesta workflows. Noticed it takes anywhere from 15-20 mins to start the workflow and proceeds fine after that. Other smaller workflows are working fine with little or no wait time.

By moving some actions in the workflow to a separate action (about 10 of them), i was able to reduce the start time from 20 mins to 1 1/2 mins. There is definitely an issue.

@pvyaka01 f you could put together an example workflow filled with dummy actions for us to reproduce the issue, - please report it and share in GitHub - StackStorm/orquesta: Orquesta is a graph based workflow engine for StackStorm. Questions? https://forum.stackstorm.com so that could be investigated and fixed.
Thanks!

yeah, i’ll report it as soon as i can modify the workflow with dummy actions

@armab all this time is taken up by conducting.py file in orquesta where the workflow graphs and specs are serialized.

It might be related to this issue (although it shows resolved on github)

Just to confirm, make sure to use the latest st2 v3.2.0 version with the most recent fixes.

If you believe you found a performance bug, - please report it in GitHub - StackStorm/orquesta: Orquesta is a graph based workflow engine for StackStorm. Questions? https://forum.stackstorm.com providing as much details as possible, including an example workflow to reproduce the problem.

---
version: '1.0'
description: abc
input:
- lom_context
tasks:
  Start:
action: core.noop
next:
- do: Task68
  when: <% succeeded() and result().result.event = 'Started' %>
- do: Task64
  when: <% failed() %>
  Task10:
action: core.noop
next:
- do: Task20
  when: <% succeeded() and result().result.event = 'Not Matched' %>
- do: Task11
  when: <% succeeded() and result().result.event = 'Matched' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Invalid Datatype' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Key Absent' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Value Null' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Exception' %>
- do: Task64
  when: <% failed() %>
  Task11:
action: core.noop
next:
- do: Task54
  when: <% succeeded() and result().result.event = 'Conn Error' %>
- do: Task54
  when: <% succeeded() and result().result.event = 'File Missing' %>
- do: Task54
  when: <% succeeded() and result().result.event = 'Access Denied' %>
- do: Task54
  when: <% succeeded() and result().result.event = 'Failure' %>
- do: Task53
  when: <% succeeded() and result().result.event = 'Success' %>
- do: Task64
  when: <% failed() %>
  Task12:
action: core.noop
next:
- do: Task15
  when: <% succeeded() and result().result.event = 'Not Matched' %>
- do: Task14
  when: <% succeeded() and result().result.event = 'Matched' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Invalid Datatype' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Key Absent' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Value Null' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Exception' %>
- do: Task64
  when: <% failed() %>
  Task13:
action: core.noop
next:
- do: Task65
  when: <% succeeded() and result().result.event = 'Success' %>
- do: Task65
  when: <% succeeded() and result().result.event = 'Failure' %>
- do: Task64
  when: <% failed() %>
  Task14:
action: core.noop
next:
- do: Task66
  when: <% succeeded() and result().result.event = 'Conn Error' %>
- do: Task66
  when: <% succeeded() and result().result.event = 'File Missing' %>
- do: Task66
  when: <% succeeded() and result().result.event = 'Access Denied' %>
- do: Task66
  when: <% succeeded() and result().result.event = 'Failure' %>
- do: Task17
  when: <% succeeded() and result().result.event = 'Success' %>
- do: Task64
  when: <% failed() %>
  Task15:
action: core.noop
next:
- do: Task48
  when: <% succeeded() and result().result.event = 'Conn Error' %>
- do: Task48
  when: <% succeeded() and result().result.event = 'File Missing' %>
- do: Task48
  when: <% succeeded() and result().result.event = 'Access Denied' %>
- do: Task14
  when: <% succeeded() and result().result.event = 'Success' %>
- do: Task48
  when: <% succeeded() and result().result.event = 'Failure' %>
- do: Task64
  when: <% failed() %>
  Task16:
action: core.noop
next:
- do: Task56
  when: <% succeeded() and result().result.event = 'Not Matched' %>
- do: Task19
  when: <% succeeded() and result().result.event = 'Matched' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Invalid Datatype' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Key Absent' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Value Null' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Exception' %>
- do: Task64
  when: <% failed() %>
  Task17:
action: core.noop
next:
- do: Task10
  when: <% succeeded() and result().result.event = 'Not Matched' %>
- do: Task2
  when: <% succeeded() and result().result.event = 'Matched' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Invalid Datatype' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Key Absent' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Value Null' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Exception' %>
- do: Task64
  when: <% failed() %>
  Task18:
action: core.noop
next:
- do: Task57
  when: <% succeeded() %>
- do: Task64
  when: <% failed() %>
  Task19:
action: core.noop
next:
- do: Task51
  when: <% succeeded() and result().result.event = 'Conn Error' %>
- do: Task51
  when: <% succeeded() and result().result.event = 'Access Denied' %>
- do: Task22
  when: <% succeeded() and result().result.event = 'Success' %>
- do: Task51
  when: <% succeeded() and result().result.event = 'Failure' %>
- do: Task64
  when: <% failed() %>
  Task2:
action: core.noop
next:
- do: Task10
  when: <% succeeded() and result().result.event = 'Not Matched' %>
- do: Task19
  when: <% succeeded() and result().result.event = 'Matched' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Invalid Datatype' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Key Absent' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Value Null' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Exception' %>
- do: Task64
  when: <% failed() %>
  Task20:
action: core.noop
next:
- do: Task54
  when: <% succeeded() and result().result.event = 'Conn Error' %>
- do: Task54
  when: <% succeeded() and result().result.event = 'File Missing' %>
- do: Task54
  when: <% succeeded() and result().result.event = 'Access Denied' %>
- do: Task21
  when: <% succeeded() and result().result.event = 'Success' %>
- do: Task54
  when: <% succeeded() and result().result.event = 'Failure' %>
- do: Task64
  when: <% failed() %>
  Task21:
action: core.noop
next:
- do: Task54
  when: <% succeeded() and result().result.event = 'Conn Error' %>
- do: Task54
  when: <% succeeded() and result().result.event = 'File Missing' %>
- do: Task54
  when: <% succeeded() and result().result.event = 'Access Denied' %>
- do: Task54
  when: <% succeeded() and result().result.event = 'Failure' %>
- do: Task53
  when: <% succeeded() and result().result.event = 'Success' %>
- do: Task64
  when: <% failed() %>
  Task22:
action: core.noop
next:
- do: Task23
  when: <% succeeded() and result().result.event = 'Not Matched' %>
- do: Task10
  when: <% succeeded() and result().result.event = 'Matched' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Invalid Datatype' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Key Absent' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Value Null' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Exception' %>
- do: Task64
  when: <% failed() %>
  Task23:
action: core.noop
next:
- do: Task25
  when: <% succeeded() and result().result.event = 'Not Matched' %>
- do: Task10
  when: <% succeeded() and result().result.event = 'Matched' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Invalid Datatype' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Key Absent' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Value Null' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Exception' %>
- do: Task64
  when: <% failed() %>
  Task24:
action: core.noop
next:
- do: Task67
  when: <% succeeded() %>
- do: Task64
  when: <% failed() %>
  Task25:
action: core.noop
next:
- do: Task64
  when: <% succeeded() and result().result.event = 'Not Matched' %>
- do: Task59
  when: <% succeeded() and result().result.event = 'Matched' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Invalid Datatype' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Key Absent' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Value Null' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Exception' %>
- do: Task64
  when: <% failed() %>
  Task26:
action: core.noop
next:
- do: Task54
  when: <% succeeded() and result().result.event = 'Conn Error' %>
- do: Task54
  when: <% succeeded() and result().result.event = 'File Missing' %>
- do: Task54
  when: <% succeeded() and result().result.event = 'Access Denied' %>
- do: Task54
  when: <% succeeded() and result().result.event = 'Failure' %>
- do: Task41
  when: <% succeeded() and result().result.event = 'Success' %>
- do: Task64
  when: <% failed() %>
  Task27:
action: core.noop
next:
- do: Task57
  when: <% succeeded() %>
- do: Task64
  when: <% failed() %>
  Task28:
action: core.noop
next:
- do: Task29
  when: <% succeeded() and result().result.event = 'Not Matched' %>
- do: Task16
  when: <% succeeded() and result().result.event = 'Matched' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Invalid Datatype' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Key Absent' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Value Null' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Exception' %>
- do: Task64
  when: <% failed() %>
  Task29:
action: core.noop
next:
- do: Task31
  when: <% succeeded() and result().result.event = 'Not Matched' %>
- do: Task59
  when: <% succeeded() and result().result.event = 'Matched' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Invalid Datatype' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Key Absent' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Value Null' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Exception' %>
- do: Task64
  when: <% failed() %>
  Task3:
action: core.noop
next:
- do: fail
  when: <% succeeded() and true %>
  Task30:
action: core.noop
next:
- do: Task32
  when: <% succeeded() and result().result.event = 'Not Matched' %>
- do: Task24
  when: <% succeeded() and result().result.event = 'Matched' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Invalid Datatype' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Key Absent' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Value Null' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Exception' %>
- do: Task64
  when: <% failed() %>
  Task31:
action: core.noop
next:
- do: Task33
  when: <% succeeded() and result().result.event = 'Not Matched' %>
- do: Task59
  when: <% succeeded() and result().result.event = 'Matched' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Invalid Datatype' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Key Absent' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Value Null' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Exception' %>
- do: Task64
  when: <% failed() %>
  Task32:
action: core.noop
next:
- do: Task76
  when: <% succeeded() and result().result.event = 'Not Matched' %>
- do: Task27
  when: <% succeeded() and result().result.event = 'Matched' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Invalid Datatype' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Key Absent' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Value Null' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Exception' %>
- do: Task64
  when: <% failed() %>
  Task33:
action: core.noop
next:
- do: Task64
  when: <% succeeded() and result().result.event = 'Not Matched' %>
- do: Task26
  when: <% succeeded() and result().result.event = 'Matched' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Invalid Datatype' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Key Absent' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Value Null' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Exception' %>
- do: Task64
  when: <% failed() %>
  Task34:
action: core.noop
next:
- do: Task18
  when: <% succeeded() and result().result.event = 'Conn Error' %>
- do: Task18
  when: <% succeeded() and result().result.event = 'File Missing' %>
- do: Task18
  when: <% succeeded() and result().result.event = 'Access Denied' %>
- do: Task18
  when: <% succeeded() and result().result.event = 'Failure' %>
- do: Task75
  when: <% succeeded() and result().result.event = 'Success' %>
- do: Task64
  when: <% failed() %>
  Task35:
action: core.noop
next:
- do: Task18
  when: <% succeeded() and result().result.event = 'Conn Error' %>
- do: Task18
  when: <% succeeded() and result().result.event = 'File Missing' %>
- do: Task18
  when: <% succeeded() and result().result.event = 'Access Denied' %>
- do: Task18
  when: <% succeeded() and result().result.event = 'Failure' %>
- do: Task7
  when: <% succeeded() and result().result.event = 'Success' %>
- do: Task64
  when: <% failed() %>
  Task36:
action: core.noop
next:
- do: Task37
  when: <% succeeded() %>
- do: Task64
  when: <% failed() %>
  Task37:
action: core.noop
next:
- do: Task38
  when: <% succeeded() and true %>
- do: Task57
  when: <% failed() %>
  Task38:
action: core.noop
next:
- do: Task57
  when: <% succeeded() and result().result.event = 'Not Matched' %>
- do: Task71
  when: <% succeeded() and result().result.event = 'Matched' %>
- do: Task57
  when: <% succeeded() and result().result.event = 'Invalid Datatype' %>
- do: Task57
  when: <% succeeded() and result().result.event = 'Key Absent' %>
- do: Task57
  when: <% succeeded() and result().result.event = 'Value Null' %>
- do: Task57
  when: <% succeeded() and result().result.event = 'Exception' %>
- do: Task64
  when: <% failed() %>
  Task39:
action: core.noop
next:
- do: Task57
  when: <% succeeded() %>
- do: Task64
  when: <% failed() %>
  Task4:
action: core.noop
next:
- do: Task64
  when: <% failed() %>
  Task40:
action: core.noop
next:
- do: Task65
  when: <% succeeded() and result().result.event = 'Not Matched' %>
- do: Task13
  when: <% succeeded() and result().result.event = 'Matched' %>
- do: Task65
  when: <% succeeded() and result().result.event = 'Invalid Datatype' %>
- do: Task65
  when: <% succeeded() and result().result.event = 'Key Absent' %>
- do: Task65
  when: <% succeeded() and result().result.event = 'Value Null' %>
- do: Task65
  when: <% succeeded() and result().result.event = 'Exception' %>
- do: Task64
  when: <% failed() %>
  Task41:
action: core.noop
next:
- do: Task44
  when: <% succeeded() and result().result.event = 'Conn Error' %>
- do: Task44
  when: <% succeeded() and result().result.event = 'File Missing' %>
- do: Task44
  when: <% succeeded() and result().result.event = 'Access Denied' %>
- do: Task42
  when: <% succeeded() and result().result.event = 'Success' %>
- do: Task44
  when: <% succeeded() and result().result.event = 'Failure' %>
- do: Task64
  when: <% failed() %>
  Task42:
action: core.noop
next:
- do: Task30
  when: <% succeeded() and result().result.event = 'Not Matched' %>
- do: Task45
  when: <% succeeded() and result().result.event = 'Matched' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Invalid Datatype' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Key Absent' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Value Null' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Exception' %>
- do: Task64
  when: <% failed() %>
  Task43:
action: core.noop
next:
- do: Task57
  when: <% succeeded() %>
- do: Task64
  when: <% failed() %>
  Task44:
action: core.noop
next:
- do: Task30
  when: <% succeeded() %>
- do: Task64
  when: <% failed() %>
  Task45:
action: core.noop
next:
- do: Task46
  when: <% succeeded() and result().result.event = 'Not Matched' %>
- do: Task49
  when: <% succeeded() and result().result.event = 'Matched' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Invalid Datatype' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Key Absent' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Value Null' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Exception' %>
- do: Task64
  when: <% failed() %>
  Task46:
action: core.noop
next:
- do: Task50
  when: <% succeeded() %>
- do: Task64
  when: <% failed() %>
  Task47:
action: core.noop
next:
- do: Task57
  when: <% succeeded() %>
- do: Task64
  when: <% failed() %>
  Task48:
action: core.noop
next:
- do: Task57
  when: <% succeeded() %>
- do: Task64
  when: <% failed() %>
  Task49:
action: core.noop
next:
- do: Task51
  when: <% succeeded() and result().result.event = 'Conn Error' %>
- do: Task51
  when: <% succeeded() and result().result.event = 'Access Denied' %>
- do: Task30
  when: <% succeeded() and result().result.event = 'Success' %>
- do: Task51
  when: <% succeeded() and result().result.event = 'Failure' %>
- do: Task64
  when: <% failed() %>
  Task5:
action: core.noop
next:
- do: Task43
  when: <% succeeded() and result().result.event = 'Conn Error' %>
- do: Task43
  when: <% succeeded() and result().result.event = 'File Missing' %>
- do: Task43
  when: <% succeeded() and result().result.event = 'Access Denied' %>
- do: Task6
  when: <% succeeded() and result().result.event = 'Success' %>
- do: Task43
  when: <% succeeded() and result().result.event = 'Failure' %>
- do: Task64
  when: <% failed() %>
  Task50:
action: core.noop
next:
- do: Task32
  when: <% succeeded() and result().result.event = 'Not Matched' %>
- do: Task52
  when: <% succeeded() and result().result.event = 'Matched' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Invalid Datatype' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Key Absent' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Value Null' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Exception' %>
- do: Task64
  when: <% failed() %>
  Task51:
action: core.noop
next:
- do: Task57
  when: <% succeeded() %>
- do: Task64
  when: <% failed() %>
  Task52:
action: core.noop
next:
- do: Task24
  when: <% succeeded() %>
- do: Task64
  when: <% failed() %>
  Task53:
action: core.noop
next:
- do: Task28
  when: <% succeeded() and result().result.event = 'Conn Error' %>
- do: Task28
  when: <% succeeded() and result().result.event = 'File Missing' %>
- do: Task28
  when: <% succeeded() and result().result.event = 'Access Denied' %>
- do: Task28
  when: <% succeeded() and result().result.event = 'Success' %>
- do: Task28
  when: <% succeeded() and result().result.event = 'Failure' %>
- do: Task64
  when: <% failed() %>
  Task54:
action: core.noop
next:
- do: Task57
  when: <% succeeded() %>
- do: Task64
  when: <% failed() %>
  Task55:
action: core.noop
next:
- do: Task57
  when: <% succeeded() %>
- do: Task64
  when: <% failed() %>
  Task56:
action: core.noop
next:
- do: Task57
  when: <% succeeded() %>
- do: Task64
  when: <% failed() %>
  Task57:
action: core.noop
next:
- do: Task64
  when: <% succeeded() and result().result.event = 'Not Matched' %>
- do: Task61
  when: <% succeeded() and result().result.event = 'Matched' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Invalid Datatype' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Key Absent' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Value Null' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Exception' %>
- do: Task64
  when: <% failed() %>
  Task58:
action: core.noop
next:
- do: Task18
  when: <% succeeded() and result().result.event = 'Conn Error' %>
- do: Task18
  when: <% succeeded() and result().result.event = 'File Missing' %>
- do: Task18
  when: <% succeeded() and result().result.event = 'Access Denied' %>
- do: Task18
  when: <% succeeded() and result().result.event = 'Failure' %>
- do: Task77
  when: <% succeeded() and result().result.event = 'Success' %>
- do: Task64
  when: <% failed() %>
  Task59:
action: core.noop
next:
- do: Task64
  when: <% succeeded() and result().result.event = 'Conn Error' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'File Missing' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Access Denied' %>
- do: Task63
  when: <% succeeded() and result().result.event = 'Success' %>
- do: Task60
  when: <% succeeded() and result().result.event = 'Failure' %>
- do: Task64
  when: <% failed() %>
  Task6:
action: core.noop
next:
- do: Task39
  when: <% succeeded() and result().result.event = 'Not Matched' %>
- do: Task8
  when: <% succeeded() and result().result.event = 'Matched' %>
- do: Task39
  when: <% succeeded() and result().result.event = 'Invalid Datatype' %>
- do: Task39
  when: <% succeeded() and result().result.event = 'Key Absent' %>
- do: Task39
  when: <% succeeded() and result().result.event = 'Value Null' %>
- do: Task39
  when: <% succeeded() and result().result.event = 'Exception' %>
- do: Task64
  when: <% failed() %>
  Task60:
action: core.noop
next:
- do: Task26
  when: <% succeeded() %>
- do: Task64
  when: <% failed() %>
  Task61:
action: core.noop
next:
- do: Task64
  when: <% succeeded() and result().result.event = 'Success' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Failure' %>
- do: Task64
  when: <% failed() %>
  Task62:
action: core.noop
next:
- do: Task36
  when: <% succeeded() and result().result.event = 'Success' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Failure' %>
- do: Task64
  when: <% failed() %>
  Task63:
action: core.noop
next:
- do: Task69
  when: <% succeeded() and result().result.event = 'Not Matched' %>
- do: Task10
  when: <% succeeded() and result().result.event = 'Matched' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Invalid Datatype' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Key Absent' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Value Null' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Exception' %>
- do: Task64
  when: <% failed() %>
  Task64:
action: core.noop
next:
- do: Task3
  when: <% succeeded() and result().result.event = 'Next' %>
- do: Task3
  when: <% failed() %>
  Task65:
action: core.noop
next:
- do: Task4
  when: <% succeeded() and result().result.event = 'Next' %>
- do: Task64
  when: <% failed() %>
  Task66:
action: core.noop
next:
- do: Task57
  when: <% succeeded() %>
- do: Task64
  when: <% failed() %>
  Task67:
action: core.noop
next:
- do: Task72
  when: <% succeeded() and result().result.event = 'Not Matched' %>
- do: Task34
  when: <% succeeded() and result().result.event = 'Matched' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Invalid Datatype' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Key Absent' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Value Null' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Exception' %>
- do: Task64
  when: <% failed() %>
  Task68:
action: core.noop
next:
- do: Task70
  when: <% succeeded() %>
- do: Task64
  when: <% failed() %>
  Task69:
action: core.noop
next:
- do: Task26
  when: <% succeeded() and result().result.event = 'Not Matched' %>
- do: Task73
  when: <% succeeded() and result().result.event = 'Matched' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Invalid Datatype' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Key Absent' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Value Null' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Exception' %>
- do: Task64
  when: <% failed() %>
  Task7:
action: core.noop
next:
- do: Task40
  when: <% succeeded() %>
- do: Task64
  when: <% failed() %>
  Task70:
action: core.noop
next:
- do: Task62
  when: <% succeeded() %>
- do: Task64
  when: <% failed() %>
  Task71:
action: core.noop
next:
- do: Task43
  when: <% succeeded() and result().result.event = 'Conn Error' %>
- do: Task43
  when: <% succeeded() and result().result.event = 'File Missing' %>
- do: Task43
  when: <% succeeded() and result().result.event = 'Access Denied' %>
- do: Task74
  when: <% succeeded() and result().result.event = 'Success' %>
- do: Task74
  when: <% succeeded() and result().result.event = 'Failure' %>
- do: Task64
  when: <% failed() %>
  Task72:
action: core.noop
next:
- do: Task35
  when: <% succeeded() and result().result.event = 'Not Matched' %>
- do: Task58
  when: <% succeeded() and result().result.event = 'Matched' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Invalid Datatype' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Key Absent' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Value Null' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Exception' %>
- do: Task64
  when: <% failed() %>
  Task73:
action: core.noop
next:
- do: Task26
  when: <% succeeded() %>
- do: Task64
  when: <% failed() %>
  Task74:
action: core.noop
next:
- do: Task5
  when: <% succeeded() and result().result.event = 'Success' %>
- do: Task47
  when: <% succeeded() and result().result.event = 'Failure' %>
- do: Task64
  when: <% failed() %>
  Task75:
action: core.noop
next:
- do: Task57
  when: <% succeeded() and result().result.event = 'Not Matched' %>
- do: Task72
  when: <% succeeded() and result().result.event = 'Matched' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Invalid Datatype' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Key Absent' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Value Null' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Exception' %>
- do: Task64
  when: <% failed() %>
  Task76:
action: core.noop
next:
- do: Task57
  when: <% succeeded() %>
- do: Task64
  when: <% failed() %>
  Task77:
action: core.noop
next:
- do: Task57
  when: <% succeeded() and result().result.event = 'Not Matched' %>
- do: Task35
  when: <% succeeded() and result().result.event = 'Matched' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Invalid Datatype' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Key Absent' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Value Null' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Exception' %>
- do: Task64
  when: <% failed() %>
  Task8:
action: core.noop
next:
- do: Task64
  when: <% succeeded() and result().result.event = 'Conn Error' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'File Missing' %>
- do: Task64
  when: <% succeeded() and result().result.event = 'Access Denied' %>
- do: Task9
  when: <% succeeded() and result().result.event = 'Success' %>
- do: Task9
  when: <% succeeded() and result().result.event = 'Failure' %>
- do: Task64
  when: <% failed() %>
  Task9:
action: core.noop
next:
- do: Task55
  when: <% succeeded() and result().result.event = 'Conn Error' %>
- do: Task55
  when: <% succeeded() and result().result.event = 'File Missing' %>
- do: Task55
  when: <% succeeded() and result().result.event = 'Access Denied' %>
- do: Task12
  when: <% succeeded() and result().result.event = 'Success' %>
- do: Task55
  when: <% succeeded() and result().result.event = 'Failure' %>
- do: Task64
  when: <% failed() %>
---
name: "dummy_pre"
enabled: true
pack: "eglom"
parameters:
  lom_context:
    required: true
    type: "object"
    secret: true
runner_type: "orquesta"
entry_point: "workflows/dummy_pre.yaml"

Dummy workflow to test the same. It takes around 7-8 minutes to start this workflow.