Skip to content

Commit d855d55

Browse files
authored
re2: env based queue selection algo (#1775)
* re2: fix @trigger.dev/core exports * re2: WIP env based queue selection algo * more wip * WIP * Get run engine tests to pass * Adding tests for the fair dequeueing strat in the run engine * Configure the new queue selection strategy in the webapp and get it all building and typechecks passing * webapp now uses built packages, building redis-worker, run-engine, database, using better tsconfig setups for tests, moving isomorphic code into core/v3/isomorphic * Fixed webapp typechecks * dev now depends on build, fixed supervisor typecheck * Fixed run engine tests * Fixed e2e tests
1 parent 38ddd83 commit d855d55

File tree

149 files changed

+4511
-2867
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

149 files changed

+4511
-2867
lines changed

.eslintrc.js

Lines changed: 0 additions & 14 deletions
This file was deleted.

.vscode/launch.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,14 @@
141141
"command": "pnpm run test --filter @internal/run-engine",
142142
"cwd": "${workspaceFolder}",
143143
"sourceMaps": true
144+
},
145+
{
146+
"type": "node-terminal",
147+
"request": "launch",
148+
"name": "Debug RunQueue tests",
149+
"command": "pnpm run test ./src/engine/tests/waitpoints.test.ts",
150+
"cwd": "${workspaceFolder}/internal-packages/run-engine",
151+
"sourceMaps": true
144152
}
145153
]
146154
}

apps/supervisor/tsconfig.json

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,5 @@
44
"compilerOptions": {
55
"rootDir": "src",
66
"outDir": "dist"
7-
},
8-
"paths": {
9-
"@trigger.dev/core/v3": ["../../packages/core/src/v3"],
10-
"@trigger.dev/core/v3/*": ["../../packages/core/src/v3/*"]
117
}
128
}

apps/webapp/.eslintrc

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
11
{
2-
"plugins": [
3-
"@trigger.dev/eslint-plugin",
4-
"react-hooks",
5-
"@typescript-eslint/eslint-plugin",
6-
"import"
7-
],
2+
"plugins": ["react-hooks", "@typescript-eslint/eslint-plugin", "import"],
83
"parser": "@typescript-eslint/parser",
94
"overrides": [
105
{

apps/webapp/app/components/run/TriggerDetail.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {
1111
RunPanelIconSection,
1212
RunPanelProperties,
1313
} from "./RunCard";
14-
import { DisplayProperty } from "@trigger.dev/core";
14+
import type { DisplayProperty } from "@trigger.dev/core";
1515

1616
export function TriggerDetail({
1717
trigger,

apps/webapp/app/entry.server.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import {
1414
OperatingSystemContextProvider,
1515
OperatingSystemPlatform,
1616
} from "./components/primitives/OperatingSystemProvider";
17-
import { getSharedSqsEventConsumer } from "./services/events/sqsEventConsumer";
17+
import { getSharedSqsEventConsumer } from "./services/events/sqsEventConsumer.server";
1818
import { singleton } from "./utils/singleton";
1919

2020
const ABORT_DELAY = 30000;

apps/webapp/app/env.server.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -419,6 +419,12 @@ const EnvironmentSchema = z.object({
419419
RUN_ENGINE_TIMEOUT_EXECUTING: z.coerce.number().int().default(60_000),
420420
RUN_ENGINE_TIMEOUT_EXECUTING_WITH_WAITPOINTS: z.coerce.number().int().default(60_000),
421421
RUN_ENGINE_DEBUG_WORKER_NOTIFICATIONS: z.coerce.boolean().default(false),
422+
RUN_ENGINE_PARENT_QUEUE_LIMIT: z.coerce.number().int().default(1000),
423+
RUN_ENGINE_CONCURRENCY_LIMIT_BIAS: z.coerce.number().default(0.75),
424+
RUN_ENGINE_AVAILABLE_CAPACITY_BIAS: z.coerce.number().default(0.3),
425+
RUN_ENGINE_QUEUE_AGE_RANDOMIZATION_BIAS: z.coerce.number().default(0.25),
426+
RUN_ENGINE_REUSE_SNAPSHOT_COUNT: z.coerce.number().int().default(0),
427+
RUN_ENGINE_MAXIMUM_ENV_COUNT: z.coerce.number().int().optional(),
422428

423429
RUN_ENGINE_WORKER_REDIS_HOST: z
424430
.string()

apps/webapp/app/hooks/useSyncTraceRuns.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Prettify } from "@trigger.dev/core";
1+
import type { Prettify } from "@trigger.dev/core";
22
import { TaskRun } from "@trigger.dev/database";
33
import { SyncedShapeData, useSyncedShape } from "./useSyncedShape";
44

apps/webapp/app/presenters/HttpEndpointPresenter.server.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { z } from "zod";
22
import { PrismaClient, prisma } from "~/db.server";
33
import { sortEnvironments } from "~/utils/environmentSort";
4-
import { httpEndpointUrl } from "~/services/httpendpoint/HandleHttpEndpointService";
4+
import { httpEndpointUrl } from "~/services/httpendpoint/HandleHttpEndpointService.server";
55
import { getSecretStore } from "~/services/secrets/secretStore.server";
66
import { projectPath } from "~/utils/pathBuilder";
77

apps/webapp/app/presenters/v3/SpanPresenter.server.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import { eventRepository } from "~/v3/eventRepository.server";
1111
import { machinePresetFromName } from "~/v3/machinePresets.server";
1212
import { FINAL_ATTEMPT_STATUSES, isFailedRunStatus, isFinalRunStatus } from "~/v3/taskStatus";
1313
import { BasePresenter } from "./basePresenter.server";
14-
import { getMaxDuration } from "@trigger.dev/core/v3/apps";
14+
import { getMaxDuration } from "@trigger.dev/core/v3/isomorphic";
1515
import { logger } from "~/services/logger.server";
1616
import { getTaskEventStoreTableForRun, TaskEventStoreTable } from "~/v3/taskEventStore.server";
1717
import { Pi } from "lucide-react";

0 commit comments

Comments
 (0)