danielgerlag / danielgerlag/workflow-core

[Question] Impact of WorkflowRegistry storing all definitions in memory.

Open
#1,207 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
5.9k
Forks
1.3k
Avg merge
1d 1h
Merged PRs (30d)
5

Description

Hi team

We're evaluating whether Workflow-Core is suitable option for us as a workflow engine to drive an end user automation feature to allow our users to create their own simple automation steps (eg, when _x_ happens, then do _y_ then _z_). Our approach so far is that when a user sets up a workflow, we create and register a workflow definition to represent it and it seems to be working. But with this model, there will likely be many thousand Workflow Definitions as users set up their own automation rules.

One thing we've noticed is in the WorkflowRegistry implementation (below) it loads all definitions on startup and stores them in a concurrent dictionary in memory. We're wondering whether there may be a ceiling we hit here if we have a lot of definitions.

https://github.com/danielgerlag/workflow-core/blob/ab97ce9c24670b7f9810e8d0da94141fe771c41a/src/WorkflowCore/Services/WorkflowRegistry.cs#L11-L35

So I guess my questions are:
- What kind of scale in terms of a rough number of definitions, would you expect Workflow core to support?
- Is our approach something that you would consider suitable for Workflow-Core?

Thanks, and we really appreciate your time looking over this.

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue names WorkflowRegistry.cs at lines 11-35; start by reading that implementation and its startup loading path. No test, code change, or acceptance criterion is specified, so done would require a maintainer response defining supported scale and whether this usage is suitable.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
backend
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.