matrix-org / matrix-org/trafficlight
Reorder client registration
- Dominant language
- Python
- Stars
- 7
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
There's a possible issue atm where clients register but stop polling for updates by the time they're allocated to a job.
It would be better if clients sat in a "register" loop until they were needed, and only then moved onto setup and then start polling for requests.
This reduces things like lengths of videos stored and gets better timings on how long tests run, and also gives us two piles of clients - one pile waiting for work and the other doing the work.
TBD: how the API looks; how things move between states.
Contributor guide
Research direction
Start by tracing the client registration, allocation, setup, and request-polling entry points in the Python coordinator. Define the API and state transitions between waiting and working clients before changing behavior. Done means clients remain registered until allocated, then move through setup into polling, with the two client groups behaving as described.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100