99designs / 99designs/cmdstalk

Job priority not adhered to when consuming multiple tubes

Aperta
#18 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Go
Stelle
76
Fork
14
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

When I execute `cmdstalk -cmd my-command -tubes pages,listing`, cmdstalk [starts two "reserve loops"](https://github.com/99designs/cmdstalk/blob/fbd704da919d283643e673bd02efcf0221224b92/broker/broker_dispatcher.go#L48). There are two problems with this:
* Suddenly the concurrency to execute jobs becomes _two_. Instead of one. This can strain downstream resources if you are not prepared.
* Due the above, jobs with different priorities are not taken into account.

beanstalkd supports having a single connection to consume multiple tubes. That's the proposed fix here.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

The issue is in broker/broker_dispatcher.go where two reserve loops are started for multiple tubes. Examine how beanstalkd handles a single connection consuming multiple tubes. Look at the existing reserve loop logic and modify it to use a single connection while respecting job priorities. Test by running cmdstalk with the -tubes flag and verifying job order and concurrency.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
go
Ambito
backend, cli
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Specificata chiaramente
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.