Skip to content

Commit 095a804

Browse files
committed
v4: allow disabling of the run engine worker via the RUN_ENGINE_WORKER_ENABLED env var
1 parent 31bef8d commit 095a804

File tree

4 files changed

+12
-4
lines changed

4 files changed

+12
-4
lines changed

apps/webapp/app/env.server.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -573,6 +573,8 @@ const EnvironmentSchema = z.object({
573573
RUN_ENGINE_RELEASE_CONCURRENCY_POLL_INTERVAL: z.coerce.number().int().default(500),
574574
RUN_ENGINE_RELEASE_CONCURRENCY_BATCH_SIZE: z.coerce.number().int().default(10),
575575

576+
RUN_ENGINE_WORKER_ENABLED: z.string().default("1"),
577+
576578
/** How long should the presence ttl last */
577579
DEV_PRESENCE_SSE_TIMEOUT: z.coerce.number().int().default(30_000),
578580
DEV_PRESENCE_TTL_MS: z.coerce.number().int().default(5_000),

apps/webapp/app/v3/runEngine.server.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ function createRunEngine() {
1414
const engine = new RunEngine({
1515
prisma,
1616
worker: {
17+
disabled: env.RUN_ENGINE_WORKER_ENABLED === "0",
1718
workers: env.RUN_ENGINE_WORKER_COUNT,
1819
tasksPerWorker: env.RUN_ENGINE_TASKS_PER_WORKER,
1920
pollIntervalMs: env.RUN_ENGINE_WORKER_POLL_INTERVAL,

internal-packages/run-engine/src/engine/index.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import { createRedisClient, Redis } from "@internal/redis";
2-
import { Worker } from "@trigger.dev/redis-worker";
32
import { startSpan, trace, Tracer } from "@internal/tracing";
43
import { Logger } from "@trigger.dev/core/logger";
54
import {
@@ -13,7 +12,7 @@ import {
1312
StartRunAttemptResult,
1413
TaskRunExecutionResult,
1514
} from "@trigger.dev/core/v3";
16-
import { BatchId, QueueId, RunId, WaitpointId } from "@trigger.dev/core/v3/isomorphic";
15+
import { BatchId, RunId, WaitpointId } from "@trigger.dev/core/v3/isomorphic";
1716
import {
1817
Prisma,
1918
PrismaClient,
@@ -22,6 +21,7 @@ import {
2221
TaskRunExecutionSnapshot,
2322
Waitpoint,
2423
} from "@trigger.dev/database";
24+
import { Worker } from "@trigger.dev/redis-worker";
2525
import { assertNever } from "assert-never";
2626
import { EventEmitter } from "node:events";
2727
import { FairQueueSelectionStrategy } from "../run-queue/fairQueueSelectionStrategy.js";
@@ -44,11 +44,11 @@ import {
4444
ExecutionSnapshotSystem,
4545
getLatestExecutionSnapshot,
4646
} from "./systems/executionSnapshotSystem.js";
47+
import { PendingVersionSystem } from "./systems/pendingVersionSystem.js";
4748
import { ReleaseConcurrencySystem } from "./systems/releaseConcurrencySystem.js";
4849
import { RunAttemptSystem } from "./systems/runAttemptSystem.js";
4950
import { SystemResources } from "./systems/systems.js";
5051
import { TtlSystem } from "./systems/ttlSystem.js";
51-
import { PendingVersionSystem } from "./systems/pendingVersionSystem.js";
5252
import { WaitpointSystem } from "./systems/waitpointSystem.js";
5353
import { EngineWorker, HeartbeatTimeouts, RunEngineOptions, TriggerParams } from "./types.js";
5454
import { workerCatalog } from "./workerCatalog.js";
@@ -165,7 +165,11 @@ export class RunEngine {
165165
await this.delayedRunSystem.enqueueDelayedRun({ runId: payload.runId });
166166
},
167167
},
168-
}).start();
168+
});
169+
170+
if (!options.worker.disabled) {
171+
this.worker.start();
172+
}
169173

170174
this.tracer = options.tracer;
171175

internal-packages/run-engine/src/engine/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { workerCatalog } from "./workerCatalog.js";
1010
export type RunEngineOptions = {
1111
prisma: PrismaClient;
1212
worker: {
13+
disabled?: boolean;
1314
redis: RedisOptions;
1415
pollIntervalMs?: number;
1516
immediatePollIntervalMs?: number;

0 commit comments

Comments
 (0)