elsa-workflows / elsa-workflows/elsa-core

Workflow queue item workers

Open
#4,281 1 comment 0 reactions 0 assignees View on GitHub
core elsa 3 enhancement performance persistence triaged
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.