changemaker.lite/api/dist/services/geocode-queue.service.d.ts

51 lines
1.3 KiB
TypeScript

interface BulkGeocodeJobData {
userId: string;
filters: {
confidenceThreshold?: number;
buildingType?: string;
cutId?: string;
limit?: number;
};
timestamp: number;
}
interface BulkGeocodeProgress {
total: number;
processed: number;
improved: number;
failed: number;
unchanged: number;
currentAddress?: string;
}
interface BulkGeocodeResult {
total: number;
processed: number;
improved: number;
failed: number;
unchanged: number;
duration: number;
}
declare class GeocodeQueueService {
private queue;
private worker;
constructor();
startWorker(): Promise<void>;
close(): Promise<void>;
startBulkGeocode(userId: string, filters: BulkGeocodeJobData['filters']): Promise<string>;
getJobStatus(jobId: string): Promise<{
id: string | undefined;
state: "unknown" | import("bullmq").JobState;
progress: BulkGeocodeProgress | undefined;
result: BulkGeocodeResult;
failedReason: string;
}>;
getStats(): Promise<{
waiting: number;
active: number;
completed: number;
failed: number;
}>;
private processBulkGeocode;
}
export declare const geocodeQueueService: GeocodeQueueService;
export {};
//# sourceMappingURL=geocode-queue.service.d.ts.map