import { EnoDatasourceFactory } from "../../datasources/eno/EnoDatasourceFactory"; import { EnoGeometryRepository } from "../../repositories/eno/EnoGeometryRepository"; import { ILogger } from "@golemio/core/dist/helpers/logger/LoggerProvider"; import { AbstractTask } from "@golemio/core/dist/integration-engine/workers/AbstractTask"; import { IEnoGeometryTaskInput } from "../interfaces/IEnoGeometryTaskInput"; import { EnoGeometryTaskInputSchema } from "../schema/EnoGeometryTaskInputSchema"; export declare class EnoGeometryTask extends AbstractTask { private enoDatasourceFactory; private enoGeometryRepository; private logger; queueName: string; queueTtl: number; schema: typeof EnoGeometryTaskInputSchema; private static readonly BATCH_SIZE; constructor(enoDatasourceFactory: EnoDatasourceFactory, enoGeometryRepository: EnoGeometryRepository, logger: ILogger); execute(data: IEnoGeometryTaskInput): Promise; /** * Geometry is the last step of both ENO chains (buildings and structures both trigger it), so the * search index is rebuilt here rather than after each individual ENO task. * * A failed publish is logged and swallowed on purpose. The geometry is already persisted, so * letting the error propagate would nack the message and re-run the whole ENO geometry fetch - * expensive SOAP work that already succeeded - because of a lost notification. The nightly cron * is the fallback; this only has to stop the failure being silent. */ private triggerSearchIndexRefresh; }