summaryrefslogtreecommitdiffstats
path: root/src/commands/xreadgroup.json
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 17:31:02 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 17:31:02 +0000
commitbb12c1fd00eb51118749bbbc69c5596835fcbd3b (patch)
tree88038a98bd31c1b765f3390767a2ec12e37c79ec /src/commands/xreadgroup.json
parentInitial commit. (diff)
downloadredis-bb12c1fd00eb51118749bbbc69c5596835fcbd3b.tar.xz
redis-bb12c1fd00eb51118749bbbc69c5596835fcbd3b.zip
Adding upstream version 5:7.0.15.upstream/5%7.0.15upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/commands/xreadgroup.json')
-rw-r--r--src/commands/xreadgroup.json92
1 files changed, 92 insertions, 0 deletions
diff --git a/src/commands/xreadgroup.json b/src/commands/xreadgroup.json
new file mode 100644
index 0000000..a148147
--- /dev/null
+++ b/src/commands/xreadgroup.json
@@ -0,0 +1,92 @@
+{
+ "XREADGROUP": {
+ "summary": "Return new entries from a stream using a consumer group, or access the history of the pending entries for a given consumer. Can block.",
+ "complexity": "For each stream mentioned: O(M) with M being the number of elements returned. If M is constant (e.g. always asking for the first 10 elements with COUNT), you can consider it O(1). On the other side when XREADGROUP blocks, XADD will pay the O(N) time in order to serve the N clients blocked on the stream getting new data.",
+ "group": "stream",
+ "since": "5.0.0",
+ "arity": -7,
+ "function": "xreadCommand",
+ "get_keys_function": "xreadGetKeys",
+ "command_flags": [
+ "BLOCKING",
+ "WRITE"
+ ],
+ "acl_categories": [
+ "STREAM"
+ ],
+ "key_specs": [
+ {
+ "flags": [
+ "RO",
+ "ACCESS"
+ ],
+ "begin_search": {
+ "keyword": {
+ "keyword": "STREAMS",
+ "startfrom": 4
+ }
+ },
+ "find_keys": {
+ "range": {
+ "lastkey": -1,
+ "step": 1,
+ "limit": 2
+ }
+ }
+ }
+ ],
+ "arguments": [
+ {
+ "token": "GROUP",
+ "name": "group_consumer",
+ "type": "block",
+ "arguments": [
+ {
+ "name": "group",
+ "type": "string"
+ },
+ {
+ "name": "consumer",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "token": "COUNT",
+ "name": "count",
+ "type": "integer",
+ "optional": true
+ },
+ {
+ "token": "BLOCK",
+ "name": "milliseconds",
+ "type": "integer",
+ "optional": true
+ },
+ {
+ "name": "noack",
+ "token": "NOACK",
+ "type": "pure-token",
+ "optional": true
+ },
+ {
+ "name": "streams",
+ "token": "STREAMS",
+ "type": "block",
+ "arguments": [
+ {
+ "name": "key",
+ "type": "key",
+ "key_spec_index": 0,
+ "multiple": true
+ },
+ {
+ "name": "ID",
+ "type": "string",
+ "multiple": true
+ }
+ ]
+ }
+ ]
+ }
+}