feat: serialize keyed tasks across queues with durable fencing tokens
This commit is contained in:
@@ -118,6 +118,10 @@
|
||||
},
|
||||
"cancellation_notifications": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"concurrency_keys": {
|
||||
"type": "boolean",
|
||||
"description": "显式支持资源键许可及单调序号交付;同进程重连固定。"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -521,6 +525,12 @@
|
||||
"effect_uncertain": {
|
||||
"type": "boolean",
|
||||
"description": "仍有历史执行效果未核实,重试不清除。"
|
||||
},
|
||||
"concurrency_key": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"maxLength": 191,
|
||||
"description": "命名空间内字节精确匹配的互斥资源键;空白边界及控制字符由运行时拒绝。"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -563,6 +573,9 @@
|
||||
},
|
||||
"server_time": {
|
||||
"$ref": "#/$defs/time"
|
||||
},
|
||||
"concurrency_token": {
|
||||
"$ref": "#/$defs/uint64"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -573,7 +586,32 @@
|
||||
"lease_until",
|
||||
"server_time"
|
||||
],
|
||||
"additionalProperties": false
|
||||
"additionalProperties": false,
|
||||
"allOf": [
|
||||
{
|
||||
"if": {
|
||||
"properties": {
|
||||
"task": {
|
||||
"required": [
|
||||
"concurrency_key"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"then": {
|
||||
"required": [
|
||||
"concurrency_token"
|
||||
]
|
||||
},
|
||||
"else": {
|
||||
"not": {
|
||||
"required": [
|
||||
"concurrency_token"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"error": {
|
||||
"type": "object",
|
||||
|
||||
Reference in New Issue
Block a user