51 lines
1.3 KiB
TypeScript
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
|