xclaim
XCLAIM
Redis 開発者教育の申込
|
Redis 定期点検/技術サポートRedis Technical Support |
Redis エンタープライズサーバーRedis Enterprise Server |
|---|
未処理データを処理する
XREADGROUP でデータを読んだ後にアプリケーションがダウンすると、そのデータは未処理のまま残ります。
XPENDING コマンドで未処理(pending)時間を確認し、他のコンシューマー(consumer)に処理させるコマンドが XCLAIM です。
使い方は XCLAIM key group consumer min-idle-time ID です。
Example
| コマンド> | XCLAIM sensor-1234 cg-A C3 5000 1539035297138-0 |
| 結果> |
1) 1) 1539035297138-0 2) 1) "temperature" 2) "101" |
- 上のコマンドは min-idle-time(pending time) が5秒以上のデータを処理します。
- XCLAIM コマンドは idle time を 0 に設定します。そのため2番目に要求したクライアントはデータを読み取れません。
- このコマンドも処理後に XACK で処理完了を確認する必要があります。
その他のオプション
ここで説明するオプションは AOF 記録やクローン(スレーブ)へ伝える目的で内部的に使われるものです。
- IDLE <ms>: Idle 時間を設定します。省略すると 0 になります。
- TIME <ms-unix-time>: 意味は idle 時間と同じですが Unix 開始時刻で設定します。AOF 記録時に使います。
- RETRYCOUNT <count>: 読んだ(delivered)回数を設定します。
- FORCE: 強制的にペンディング(pending)データにします。PEL(Pending Entry List) に入れます。
- JUSTID: ID だけ返します。
構文
XCLAIM key group consumer min-idle-time ID [ID ...]
[IDLE ms] [TIME ms-unix-time]
[RETRYCOUNT count] [FORCE] [JUSTID]
- このコマンドは version 5.0.0 から使用できます。
- 時間計算量は O(log(N)) です。N はペンディングされたデータ数です。
| << XPENDING | XCLAIM | XAUTOCLAIM >> |
|---|
Email
返事がかかってなれば、メールでお知らせします。
