Runner selection: pool size, failure classification and payment_sent on rejections
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- python
- Ambito
- backend, distributed-systems
Direzione di ricerca
Start with the proposal, then read RunnerSelectionCursor.next in src/livepeer_gateway/selection.py and discover_orchestrator_runners in src/livepeer_gateway/discovery.py. Trace the related reserve_session change from #37 and the still-open #36 before deciding the pool, ordering, failure categories, and payment state. Done means the requested selection and rejection information is defined and implemented consistently.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The builder engine (proposal) will build its runner failover on runner_selector / RunnerSelectionCursor. Three things are missing for that.
Today (main at 44df061):
RunnerSelectionCursor.nexttries candidates in discovery order and moves on after any exception.- Its candidates come from
discover_orchestrator_runners, which returns the runners of the first batch of five orchestrators that has any. - There is no setting for how many candidates to consider, no ordering hook, and no way to tell a capacity refusal from other failures.
RunnerRejectionrecords only the URL and a reason string, so a caller cannot tell whether a failed attempt had already paid. With a session prepay, a start refused on capacity has paid.
Request:
- A maximum pool size, so selection can consider runners across more than one orchestrator batch.
- An ordering hook, or ranking inputs.
- A classified failure reason: capacity refusal versus unreachable versus other.
- Whether payment was sent, on each rejection.
Related: #37 forwarded orchestrators through reserve_session. That change is on main, but #36 is still open.
- Lingua principale
- Python
- Stelle
- 1
- Fork
- 7
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di livepeer/livepeer-python-gateway
-
call_runner rejects a top-level JSON array, so a runner cannot pass one throughForse già presa @rickstaa l’ha presa 49 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
livepeer/livepeer-python-gateway#64 · 1 commento ·
-
Align pricing terminology: pixels_per_unit -> pricing_unit_size (track go-livepeer #3942)Forse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. ApertaImprovement
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
livepeer/livepeer-python-gateway#27 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
trickle_publisher: `_resolve_next_seq` fallback drops first video segment + logs noisy warningForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 70/100
livepeer/livepeer-python-gateway#12 · 1 commento ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 76/100
livepeer/livepeer-python-gateway#62 · 3 commenti ·
Tutte le issue di livepeer/livepeer-python-gateway
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
QuantEcon/lecture-python-programming#642 ·
I maintainer di solito rispondono entro 1 giorno
-
area/config area/profiles comp/cli needs-decision P3 sweeper:risk-compatibility type/feature
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
NousResearch/hermes-agent#133697 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement needs-triage
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
core
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
vectorize-io/hindsight#5279 ·
I maintainer di solito rispondono entro 1 giorno