99designs / 99designs/cmdstalk

Job priority not adhered to when consuming multiple tubes

オープン
#18 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。