futriix/src/commands/xclaim.json
Itamar Haber 0c3b8b7e90
Overhauls command summaries and man pages. (#11942)
This is an attempt to normalize/formalize command summaries.

Main actions performed:

* Starts with the continuation of the phrase "The XXXX command, when called, ..." for user commands.
* Starts with "An internal command...", "A container command...", etc... when applicable.
* Always uses periods.
* Refrains from referring to other commands. If this is needed, backquotes should be used for command names.
* Tries to be very clear about the data type when applicable.
* Tries to mention additional effects, e.g. "The key is created if it doesn't exist" and "The set is deleted if the last member is removed."
* Prefers being terse over verbose.
* Tries to be consistent.
2023-03-29 20:48:59 +03:00

139 lines
4.2 KiB
JSON

{
"XCLAIM": {
"summary": "Changes, or acquires, ownership of a message in a consumer group, as if the message was delivered a consumer group member.",
"complexity": "O(log N) with N being the number of messages in the PEL of the consumer group.",
"group": "stream",
"since": "5.0.0",
"arity": -6,
"function": "xclaimCommand",
"command_flags": [
"WRITE",
"FAST"
],
"acl_categories": [
"STREAM"
],
"command_tips": [
"NONDETERMINISTIC_OUTPUT"
],
"key_specs": [
{
"flags": [
"RW",
"UPDATE"
],
"begin_search": {
"index": {
"pos": 1
}
},
"find_keys": {
"range": {
"lastkey": 0,
"step": 1,
"limit": 0
}
}
}
],
"arguments": [
{
"name": "key",
"type": "key",
"key_spec_index": 0
},
{
"name": "group",
"type": "string"
},
{
"name": "consumer",
"type": "string"
},
{
"name": "min-idle-time",
"type": "string"
},
{
"name": "ID",
"type": "string",
"multiple": true
},
{
"token": "IDLE",
"name": "ms",
"type": "integer",
"optional": true
},
{
"token": "TIME",
"name": "unix-time-milliseconds",
"type": "unix-time",
"optional": true
},
{
"token": "RETRYCOUNT",
"name": "count",
"type": "integer",
"optional": true
},
{
"name": "force",
"token": "FORCE",
"type": "pure-token",
"optional": true
},
{
"name": "justid",
"token": "JUSTID",
"type": "pure-token",
"optional": true
},
{
"name": "lastid",
"token": "LASTID",
"type": "string",
"optional": true
}
],
"reply_schema": {
"description": "Stream entries with IDs matching the specified range.",
"anyOf": [
{
"description": "If JUSTID option is specified, return just an array of IDs of messages successfully claimed",
"type": "array",
"items": {
"description": "Entry ID",
"type": "string",
"pattern": "[0-9]+-[0-9]+"
}
},
{
"description": "array of stream entries that contains each entry as an array of 2 elements, the Entry ID and the entry data itself",
"type": "array",
"uniqueItems": true,
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": [
{
"description": "Entry ID",
"type": "string",
"pattern": "[0-9]+-[0-9]+"
},
{
"description": "Data",
"type": "array",
"items": {
"type": "string"
}
}
]
}
}
]
}
}
}