Feature request: streaming/SSE updates to avoid full environment-document polling
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
Research direction
Start by tracing the Edge Proxy polling of /api/v1/environment-document/ and reviewing PR 159 to understand the existing update path. Then investigate how an SSE or other push channel could be introduced; done means proxy instances receive environment changes without fixed-interval full-document polling and the behavior is validated for deployments with many instances.
Written by the indexing model from the issue text.
Description
Is your feature request related to a problem?
The Edge Proxy polls /api/v1/environment-document/ on a fixed interval. Deployments running many proxy instances with short poll intervals results in an unnecessary amount of API requests to the Core API. Since this was implemented, the load caused by these requests is fairly low since the environment rarely changes in relation to the polling interval, but the requests could be redundant nonetheless.
The time taken for a change to a flag to be reflected in the API served by each Edge Proxy instance is also therefore dependent on the polling interval. When using longer polling intervals (to optimise API requests for example), a change could take up to one full polling interval to be reflected in the API served by the Edge Proxy.
Describe the solution you would like
A streaming or push based update channel (for example SSE) for environment updates, so a proxy is notified when an environment changes rather than polling the Core API.
Additional context
Most relevant for high instance count deployments.
- Dominant language
- Python
- Stars
- 5
- Forks
- 6
- PR merge metrics
- No merged PRs in 30d
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Flagsmith/edge-proxy
-
Difficulty 3/5 1-2 days Newbie friendliness 66/100
Flagsmith/edge-proxy#199 ·
-
Add OpenTelemetry support for traces (and metrics)Possibly taken @stoopman claimed this 95 days ago. Open
Difficulty 5/5 Over a week Newbie friendliness 45/100
Flagsmith/edge-proxy#194 · 2 reactions ·
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
Flagsmith/edge-proxy#187 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
Flagsmith/edge-proxy#185 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 35/100
Flagsmith/edge-proxy#177 ·
All issues in Flagsmith/edge-proxy
Similar issues
-
request-theme
Difficulty 2/5 Under an hour Newbie friendliness 70/100
LizardByte/ThemerrDB#8877 · 1 comment ·
Maintainers usually reply within 1 day
-
area/install-update comp/gateway P0 sweeper:risk-compatibility type/bug
Difficulty 2/5 Under an hour Newbie friendliness 72/100
NousResearch/hermes-agent#135997 · 3 comments ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
deepset-ai/haystack#13199 ·
Maintainers usually reply within 1 day
-
[BUG] JSONLoader rejects valid UTF-8 BOM filesPossibly taken @zouyonghe claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
anthropics/knowledge-work-plugins#1298 ·
Maintainers usually reply within 1 day