@@ -75,15 +75,15 @@ import {
7575 RunEngineOptions ,
7676 TriggerParams ,
7777} from "./types.js" ;
78- import { ttlWorkerCatalog } from "./ttlWorkerCatalog.js" ;
78+ import { createTtlWorkerCatalog } from "./ttlWorkerCatalog.js" ;
7979import { workerCatalog } from "./workerCatalog.js" ;
8080import pMap from "p-map" ;
8181
8282export class RunEngine {
8383 private runLockRedis : Redis ;
8484 private runLock : RunLocker ;
8585 private worker : EngineWorker ;
86- private ttlWorker : Worker < typeof ttlWorkerCatalog > ;
86+ private ttlWorker : Worker < ReturnType < typeof createTtlWorkerCatalog > > ;
8787 private logger : Logger ;
8888 private tracer : Tracer ;
8989 private meter : Meter ;
@@ -341,21 +341,27 @@ export class RunEngine {
341341 waitpointSystem : this . waitpointSystem ,
342342 } ) ;
343343
344+ const ttlWorkerCatalog = createTtlWorkerCatalog ( {
345+ visibilityTimeoutMs : options . queue ?. ttlSystem ?. visibilityTimeoutMs ,
346+ batchMaxSize : options . queue ?. ttlSystem ?. batchMaxSize ,
347+ batchMaxWaitMs : options . queue ?. ttlSystem ?. batchMaxWaitMs ,
348+ } ) ;
349+
344350 this . ttlWorker = new Worker ( {
345351 name : "ttl-expiration" ,
346352 redisOptions : {
347353 ...options . queue . redis ,
348354 keyPrefix : `${ options . queue . redis . keyPrefix } runqueue:ttl-worker:` ,
349355 } ,
350356 catalog : ttlWorkerCatalog ,
351- concurrency : { limit : 20 } ,
357+ concurrency : { limit : options . queue ?. ttlSystem ?. workerConcurrency ?? 1 } ,
352358 pollIntervalMs : options . worker . pollIntervalMs ?? 1000 ,
353359 immediatePollIntervalMs : options . worker . immediatePollIntervalMs ?? 100 ,
354360 shutdownTimeoutMs : options . worker . shutdownTimeoutMs ?? 10_000 ,
355361 logger : new Logger ( "RunEngineTtlWorker" , options . logLevel ?? "info" ) ,
356362 jobs : {
357- expireTtlRun : async ( { payload } ) => {
358- await this . ttlSystem . expireRunsBatch ( [ payload . runId ] ) ;
363+ expireTtlRun : async ( items ) => {
364+ await this . ttlSystem . expireRunsBatch ( items . map ( ( i ) => i . payload . runId ) ) ;
359365 } ,
360366 } ,
361367 } ) ;
0 commit comments