99designs / 99designs/cmdstalk
Job priority not adhered to when consuming multiple tubes
- 主要言語
- Go
- スター
- 76
- フォーク
- 14
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
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.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
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.
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- go
- 領域
- backend, cli
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- 明確に書かれている
- 初心者へのやさしさ
- 45/100