mirror of
https://github.com/fosrl/pangolin.git
synced 2026-06-17 04:47:11 +00:00
24 lines
670 B
TypeScript
24 lines
670 B
TypeScript
export type RebuildJobType = "site-resource" | "client";
|
|
|
|
export interface RebuildJob {
|
|
type: RebuildJobType;
|
|
id: number;
|
|
}
|
|
|
|
export interface RebuildJobHandlers {
|
|
onSiteResource(siteResourceId: number): Promise<void>;
|
|
onClient(clientId: number): Promise<void>;
|
|
}
|
|
|
|
export interface RebuildQueueManager {
|
|
enqueue(job: RebuildJob): Promise<void>;
|
|
startProcessing(handlers: RebuildJobHandlers): void;
|
|
}
|
|
|
|
class NoopRebuildQueue implements RebuildQueueManager {
|
|
async enqueue(_job: RebuildJob): Promise<void> {}
|
|
startProcessing(_handlers: RebuildJobHandlers): void {}
|
|
}
|
|
|
|
export const rebuildQueue: RebuildQueueManager = new NoopRebuildQueue();
|