argoproj / argoproj/argo-workflows
Lazy-load CronWorkflows in the Workflow list page to reduce memory usage
- Dominant language
- Go
- Stars
- 17k
- Forks
- 3.7k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 138
Description
# Summary
What change needs making?
When opening the Workflow list page, all CronWorkflows are loaded at once (Maybe this fetch is performed to provide data for the selector component).
Therefore, simply opening the Workflow list page causes high memory usage on the server container, when there are many CronWorkflows.
I would like to request changing this behavior to a lazy-load approach so that CronWorkflows are retrieved only when needed.
Related issue: https://github.com/argoproj/argo-workflows/issues/14910
## Use Cases
When would you use this?
For example, when opening the Workflow list page in a namespace with a large number of CronWorkflows, loading all items at once occurs, leading to increased memory usage or even OOM errors.
By switching to lazy-loading, memory usage can be optimized, and the Workflow list page will become more efficient and reliable.
---
**Message from the maintainers**:
Love this feature request? Give it a 👍. We prioritise the proposals with the most 👍.
Contributor guide
Research direction
Start by tracing how the Workflow list page requests CronWorkflows and how that data supports the selector component. Confirm when CronWorkflows are actually needed, then verify that opening a namespace with many CronWorkflows no longer loads them all at once and avoids the reported memory growth or OOM risk.
Written by the indexing model from the issue text.
Assessment
- Domain
- full-stack
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100