Files
triggerdotdev--trigger.dev/apps/webapp/app/v3/runEnginePendingVersionLookup.server.ts
T
2026-07-13 13:32:57 +08:00

25 lines
1.1 KiB
TypeScript

import { type PendingVersionRunIdLookup } from "@internal/run-engine";
import { clickhouseFactory } from "~/services/clickhouse/clickhouseFactoryInstance.server";
import { logger } from "~/services/logger.server";
import { singleton } from "~/utils/singleton";
import { ClickhousePendingVersionLookup } from "./services/clickhousePendingVersionLookup.server";
/**
* Lookup used by `@internal/run-engine`'s `PendingVersionSystem` to find
* `PENDING_VERSION` TaskRun ids via ClickHouse, removing the need for
* Postgres index #13 (`TaskRun_status_runtimeEnvironmentId_createdAt_id_idx`).
*
* Resolves the ClickHouse client per call via {@link clickhouseFactory}
* using the `"engine"` client type, configured by `RUN_ENGINE_CLICKHOUSE_*`
* env vars and routed per-organization for customers with HIPAA / data
* sovereignty data stores.
*/
export const runEnginePendingVersionLookup = singleton(
"runEnginePendingVersionLookup",
initializeRunEnginePendingVersionLookup
);
function initializeRunEnginePendingVersionLookup(): PendingVersionRunIdLookup {
return new ClickhousePendingVersionLookup({ clickhouseFactory, logger });
}