Skip to content

Commit bae987d

Browse files
committed
Create a new run engine event bus event for the runs dashboard to hook into
1 parent 9a1fd64 commit bae987d

File tree

5 files changed

+208
-269
lines changed

5 files changed

+208
-269
lines changed

apps/webapp/app/services/runsDashboardInstance.server.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import {
77
} from "./runsDashboardService.server";
88
import { EventEmitter } from "node:events";
99
import { RuntimeEnvironmentType, TaskRun } from "@trigger.dev/database";
10+
import { engine } from "~/v3/runEngine.server";
11+
import { logger } from "./logger.server";
1012

1113
const runDashboardEventBus: RunDashboardEventBus = new EventEmitter<RunDashboardEvents>();
1214

@@ -32,5 +34,13 @@ export const runsDashboard = singleton("runsDashboard", () => {
3234
await service.upsertRun(event.run, event.environment.type, event.organization.id);
3335
});
3436

37+
engine.eventBus.on("runStatusChanged", async (event) => {
38+
logger.debug("RunDashboard: runStatusChanged", {
39+
event,
40+
});
41+
42+
await service.upsertRun(event.run, event.environment.type, event.environment.organization.id);
43+
});
44+
3545
return service;
3646
});

apps/webapp/app/v3/services/triggerTaskV1.server.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ import {
4343
import { getTaskEventStore } from "../taskEventStore.server";
4444
import { enqueueRun } from "./enqueueRun.server";
4545
import { z } from "zod";
46+
import { emitRunStatusUpdate } from "~/services/runsDashboardInstance.server";
4647

4748
// This is here for backwords compatibility for v3 users
4849
const QueueOptions = z.object({
@@ -601,6 +602,8 @@ export class TriggerTaskServiceV1 extends BaseService {
601602
return;
602603
}
603604

605+
emitRunStatusUpdate(run, environment);
606+
604607
return {
605608
run,
606609
isCached: result?.isCached,

0 commit comments

Comments
 (0)