narou
narou copied to clipboard
キューの中身を見られるように/キャンセルできるように
キューに積む時にメッセージも登録出来るようにする?
実装イメージ(案1)
Queue の中身を可視化するのは比較的簡単だが、中身の削除が出来るようにはできていないので、 削除するというイメージではなく、キャンセルリストのようなものを別途作成し、 キュー処理時にキャンセルリストに登録されていれば処理を行わない、というイメージ。
この場合、キューの中身の可視化する部分で一工夫いる(キューの中身+キャンセルリストを同時に見る必要がある)
キュー登録
- ID (内部で自動生成)。古いIDの再利用は絶対にしないこと。常にインクリメント
- メッセージ
- 処理内容
キャンセルリスト登録
- ID
実装イメージ(案2)
案1の考え方をベースにして(キャンセルリスト)、キューとキャンセルリストを両方持つ キャンセル可能キュークラスを作る。 キャンセル部分はこのクラス内で吸収して、外に影響は出さない。
変換キューも実装することになったので、実装は難しいかもしれない