admin-projects/src/services/events-api.ts

11 lines
922 B
TypeScript
Raw Normal View History

import { api } from './http-client'
export interface QueueInfo { name: string; waiting: number; active: number; completed: number; failed: number; delayed: number; total: number }
export interface FailedJob { id: string; name: string; timestamp: number; attemptsMade: number; failedReason?: string }
export interface JobDetail extends FailedJob { state: string; data: any; stacktrace?: string[] }
export function getQueueOverview(): Promise<{ queues: QueueInfo[] }> { return api.get('/admin-api/events') }
export function getFailedJobs(queue: string): Promise<{ jobs: FailedJob[] }> { return api.get(`/admin-api/events/${queue}/failed`) }
export function getJobDetail(queue: string, jobId: string): Promise<JobDetail> { return api.get(`/admin-api/events/${queue}/jobs/${jobId}`) }
export function retryJob(queue: string, jobId: string): Promise<any> { return api.post(`/admin-api/events/${queue}/jobs/${jobId}/retry`) }