elsa-workflows / elsa-workflows/elsa-core
Workflow queue item workers
- Dominant language
- C#
- Stars
- 7.9k
- Forks
- 1.5k
- Avg merge
- 15h 22m
- Merged PRs (30d)
- 114
Description
Currently, when activities schedule work, this work is processed by a looping construct somewhere in the workflow execution pipeline. Originally, this scheduler was stack based (Elsa 1 and 2).
With Elsa 3, because activity instances themselves have a Status (Running or Completed), it was possible to replace the stack based scheduled with a queue based scheduler.
Now the next step would be to do an experiment and see if we can replace the queue processing loop with a queue worker.
Because if that works, then it becomes possible to provide a durable queue based scheduler that adds work via a real message broker such as RabbitMQ, Azure Service Bus and Kafka, thereby increasing resiliency.
It might then also open the door for having event sourcing drive workflow execution, which gives us the ability to replay a workflow from an earlier point.
Contributor guide
Assessment
This issue has not been assessed yet.