Files
tabdeal-job-queue/frontend/src/types.ts

59 lines
1.1 KiB
TypeScript

export type JobStatus = "queued" | "running" | "succeeded" | "failed";
export type Job = {
id: string;
type: string;
payload: Record<string, unknown>;
status: JobStatus;
priority: number;
available_at: string;
attempts: number;
max_attempts: number;
idempotency_key: string | null;
locked_by: string | null;
locked_until: string | null;
last_error: string;
result: unknown;
created_at: string;
updated_at: string;
finished_at: string | null;
};
export type JobEvent = {
id: number;
job: string;
type: string;
attempt: number;
worker_id: string | null;
message: string;
data: Record<string, unknown>;
created_at: string;
};
export type CursorPage<T> = {
next: string | null;
previous: string | null;
results: T[];
};
export type LimitOffsetPage<T> = {
count: number;
next: string | null;
previous: string | null;
results: T[];
};
export type JobStats = {
total: number;
by_status: Record<JobStatus, number>;
overdue_running: number;
retries_pending: number;
oldest_queued_at: string | null;
};
export type Health = {
ok: boolean;
database: string;
detail?: string;
};