fix: 修复 Queue 已读投影和取消传播
This commit is contained in:
+11
-4
@@ -67,7 +67,7 @@ async function dispatch(args: ParsedArgs): Promise<JsonValue> {
|
||||
if (group === "queue" && command === "list") return listQueueTasks(args);
|
||||
if (group === "queue" && command === "show" && id) return client(args).get(`/api/v1/queue/tasks/${encodeURIComponent(id)}`);
|
||||
if (group === "queue" && command === "stats") return client(args).get(`/api/v1/queue/stats${queueQuery(args)}`);
|
||||
if (group === "queue" && command === "commander") return client(args).get(`/api/v1/queue/commander${queueQuery(args)}`);
|
||||
if (group === "queue" && command === "commander") return client(args).get(`/api/v1/queue/commander${queueQuery(args, { readerId: true })}`);
|
||||
if (group === "queue" && command === "read" && id) return client(args).post(`/api/v1/queue/tasks/${encodeURIComponent(id)}/read`, { readerId: optionalFlag(args, "reader-id") ?? "cli" });
|
||||
if (group === "queue" && command === "cancel" && id) return client(args).post(`/api/v1/queue/tasks/${encodeURIComponent(id)}/cancel`, cancelBody(args));
|
||||
if (group === "queue" && command === "dispatch" && id) return dispatchQueueTask(args, id);
|
||||
@@ -297,9 +297,16 @@ async function listQueueTasks(args: ParsedArgs): Promise<JsonValue> {
|
||||
return client(args).get(`/api/v1/queue/tasks${query ? `?${query}` : ""}`);
|
||||
}
|
||||
|
||||
function queueQuery(args: ParsedArgs): string {
|
||||
function queueQuery(args: ParsedArgs, options: { readerId?: boolean } = {}): string {
|
||||
const params = new URLSearchParams();
|
||||
const queue = optionalFlag(args, "queue");
|
||||
return queue ? `?queue=${encodeURIComponent(queue)}` : "";
|
||||
if (queue) params.set("queue", queue);
|
||||
if (options.readerId) {
|
||||
const readerId = optionalFlag(args, "reader-id");
|
||||
if (readerId) params.set("readerId", readerId);
|
||||
}
|
||||
const query = params.toString();
|
||||
return query ? `?${query}` : "";
|
||||
}
|
||||
|
||||
async function dispatchQueueTask(args: ParsedArgs, taskId: string): Promise<JsonValue> {
|
||||
@@ -834,7 +841,7 @@ function help(args: ParsedArgs, group?: string): JsonRecord {
|
||||
"queue list [--queue <queue>] [--state <state>] [--cursor <cursor>] [--limit <limit>] [--updated-after <version>]",
|
||||
"queue show <taskId>",
|
||||
"queue stats [--queue <queue>]",
|
||||
"queue commander [--queue <queue>]",
|
||||
"queue commander [--queue <queue>] [--reader-id <reader>]",
|
||||
"queue read <taskId> [--reader-id <reader>]",
|
||||
"queue cancel <taskId> [--reason <text>]",
|
||||
"queue dispatch <taskId> [--json-file <dispatch.json>] [--idempotency-key <key>] [--image <image>] [--namespace <namespace>]",
|
||||
|
||||
Reference in New Issue
Block a user