feat: per-source pause/stop controls for queue admin
Add operator pause/resume/stop/start for individual adapter sources, persisted in queue_state. Pause freezes draining and retains jobs; stop clears pending/backoff jobs and blocks re-enqueue until start. Wires admin tRPC endpoints plus a clean two-row Actions layout in the queue admin page.
This commit is contained in:
@@ -1707,6 +1707,34 @@ const adminRouter = router({
|
||||
return { cleared };
|
||||
}),
|
||||
|
||||
queueSourcePause: adminProcedure
|
||||
.input(z.object({ source: z.string().min(1) }))
|
||||
.mutation(({ ctx, input }) => {
|
||||
ctx.queue.pauseSource(input.source);
|
||||
return { ok: true, source: input.source };
|
||||
}),
|
||||
|
||||
queueSourceResume: adminProcedure
|
||||
.input(z.object({ source: z.string().min(1) }))
|
||||
.mutation(({ ctx, input }) => {
|
||||
ctx.queue.resumeSource(input.source);
|
||||
return { ok: true, source: input.source };
|
||||
}),
|
||||
|
||||
queueSourceStop: adminProcedure
|
||||
.input(z.object({ source: z.string().min(1) }))
|
||||
.mutation(({ ctx, input }) => {
|
||||
const cleared = ctx.queue.stopSource(input.source);
|
||||
return { ok: true, source: input.source, cleared };
|
||||
}),
|
||||
|
||||
queueSourceStart: adminProcedure
|
||||
.input(z.object({ source: z.string().min(1) }))
|
||||
.mutation(({ ctx, input }) => {
|
||||
ctx.queue.startSource(input.source);
|
||||
return { ok: true, source: input.source };
|
||||
}),
|
||||
|
||||
queueClearDone: adminProcedure
|
||||
.input(z.object({ olderThanHours: z.number().min(1).max(336).optional().default(24) }))
|
||||
.mutation(({ ctx, input }) => {
|
||||
|
||||
Reference in New Issue
Block a user