Skip to content

Commit a55c640

Browse files
committed
set dequeued at on new runners
1 parent 2d7b16b commit a55c640

File tree

5 files changed

+15
-2
lines changed

5 files changed

+15
-2
lines changed

apps/supervisor/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,7 @@ class ManagedSupervisor {
224224

225225
try {
226226
await this.workloadManager.create({
227+
dequeuedAt: message.dequeuedAt,
227228
envId: message.environment.id,
228229
envType: message.environment.type,
229230
image: message.image,

apps/supervisor/src/workloadManager/docker.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ export class DockerWorkloadManager implements WorkloadManager {
2828
"run",
2929
"--detach",
3030
`--network=${env.DOCKER_NETWORK}`,
31+
`--env=TRIGGER_DEQUEUED_AT_MS=${opts.dequeuedAt.getTime()}`,
3132
`--env=TRIGGER_POD_SCHEDULED_AT_MS=${Date.now()}`,
3233
`--env=TRIGGER_ENV_ID=${opts.envId}`,
3334
`--env=TRIGGER_RUN_ID=${opts.runFriendlyId}`,

apps/supervisor/src/workloadManager/kubernetes.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,10 @@ export class KubernetesWorkloadManager implements WorkloadManager {
6161
],
6262
resources: this.#getResourcesForMachine(opts.machine),
6363
env: [
64+
{
65+
name: "TRIGGER_DEQUEUED_AT_MS",
66+
value: opts.dequeuedAt.getTime().toString(),
67+
},
6468
{
6569
name: "TRIGGER_POD_SCHEDULED_AT_MS",
6670
value: Date.now().toString(),

apps/supervisor/src/workloadManager/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ export interface WorkloadManagerCreateOptions {
2121
machine: MachinePreset;
2222
version: string;
2323
nextAttemptNumber?: number;
24+
dequeuedAt: Date;
2425
// identifiers
2526
envId: string;
2627
envType: EnvironmentType;

packages/cli-v3/src/entryPoints/managed-run-controller.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ import { assertExhaustive } from "../utilities/assertExhaustive.js";
2626
import { setTimeout as sleep } from "timers/promises";
2727
import { io, type Socket } from "socket.io-client";
2828

29+
const DateEnv = z
30+
.string()
31+
.transform((val) => new Date(parseInt(val, 10)))
32+
.pipe(z.date());
33+
2934
// All IDs are friendly IDs
3035
const Env = z.object({
3136
// Set at build time
@@ -52,7 +57,8 @@ const Env = z.object({
5257
TRIGGER_METADATA_URL: z.string().optional(),
5358

5459
// Timeline metrics
55-
TRIGGER_POD_SCHEDULED_AT_MS: z.coerce.date(),
60+
TRIGGER_POD_SCHEDULED_AT_MS: DateEnv,
61+
TRIGGER_DEQUEUED_AT_MS: DateEnv,
5662

5763
// May be overridden
5864
TRIGGER_SUPERVISOR_API_PROTOCOL: z.enum(["http", "https"]),
@@ -1295,7 +1301,7 @@ class ManagedRunController {
12951301
this.startAndExecuteRunAttempt({
12961302
runFriendlyId: env.TRIGGER_RUN_ID,
12971303
snapshotFriendlyId: env.TRIGGER_SNAPSHOT_ID,
1298-
dequeuedAt: new Date(),
1304+
dequeuedAt: env.TRIGGER_DEQUEUED_AT_MS,
12991305
podScheduledAt: env.TRIGGER_POD_SCHEDULED_AT_MS,
13001306
}).finally(() => {});
13011307
return;

0 commit comments

Comments
 (0)