trigger.dev 0.0.0-v3-canary-20240325170325 → 0.0.0-v3-pnpm-fix-20240403154252
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
// src/workers/dev/worker-facade.ts
|
|
2
2
|
import {
|
|
3
3
|
TaskExecutor,
|
|
4
|
-
|
|
4
|
+
DurableClock,
|
|
5
|
+
clock,
|
|
6
|
+
logLevels,
|
|
7
|
+
getEnvVar,
|
|
8
|
+
ZodSchemaParsedError
|
|
5
9
|
} from "@trigger.dev/core/v3";
|
|
6
10
|
import {
|
|
7
11
|
ConsoleInterceptor,
|
|
@@ -16,23 +20,25 @@ import {
|
|
|
16
20
|
} from "@trigger.dev/core/v3";
|
|
17
21
|
|
|
18
22
|
// package.json
|
|
19
|
-
var version = "0.0.0-v3-
|
|
23
|
+
var version = "0.0.0-v3-pnpm-fix-20240403154252";
|
|
20
24
|
|
|
21
25
|
// src/workers/dev/worker-facade.ts
|
|
22
26
|
__WORKER_SETUP__;
|
|
23
27
|
__IMPORTED_PROJECT_CONFIG__;
|
|
24
28
|
var otelTracer = tracingSDK.getTracer("trigger-dev-worker", version);
|
|
25
29
|
var otelLogger = tracingSDK.getLogger("trigger-dev-worker", version);
|
|
26
|
-
var
|
|
30
|
+
var durableClock = new DurableClock();
|
|
31
|
+
clock.setGlobalClock(durableClock);
|
|
27
32
|
var tracer = new TriggerTracer({ tracer: otelTracer, logger: otelLogger });
|
|
28
|
-
var consoleInterceptor = new ConsoleInterceptor(otelLogger
|
|
33
|
+
var consoleInterceptor = new ConsoleInterceptor(otelLogger);
|
|
29
34
|
var devRuntimeManager = new DevRuntimeManager();
|
|
30
35
|
runtime.setGlobalRuntimeManager(devRuntimeManager);
|
|
36
|
+
var triggerLogLevel = getEnvVar("TRIGGER_LOG_LEVEL");
|
|
37
|
+
var configLogLevel = triggerLogLevel ? triggerLogLevel : importedConfig ? importedConfig.logLevel : __PROJECT_CONFIG__.logLevel;
|
|
31
38
|
var otelTaskLogger = new OtelTaskLogger({
|
|
32
39
|
logger: otelLogger,
|
|
33
40
|
tracer,
|
|
34
|
-
level: "
|
|
35
|
-
preciseDateOrigin
|
|
41
|
+
level: logLevels.includes(configLogLevel) ? configLogLevel : "log"
|
|
36
42
|
});
|
|
37
43
|
logger.setGlobalTaskLogger(otelTaskLogger);
|
|
38
44
|
var TaskFileImports = {};
|
|
@@ -51,6 +57,7 @@ function getTasks() {
|
|
|
51
57
|
filePath: taskFile.filePath,
|
|
52
58
|
queue: task.__trigger.queue,
|
|
53
59
|
retry: task.__trigger.retry,
|
|
60
|
+
machine: task.__trigger.machine,
|
|
54
61
|
fns: task.__trigger.fns
|
|
55
62
|
});
|
|
56
63
|
}
|
|
@@ -150,8 +157,13 @@ var handler = new ZodMessageHandler({
|
|
|
150
157
|
process.on("message", async (msg) => {
|
|
151
158
|
await handler.handleMessage(msg);
|
|
152
159
|
});
|
|
153
|
-
|
|
154
|
-
|
|
160
|
+
var TASK_METADATA = getTaskMetadata();
|
|
161
|
+
sender.send("TASKS_READY", { tasks: TASK_METADATA }).catch((err) => {
|
|
162
|
+
if (err instanceof ZodSchemaParsedError) {
|
|
163
|
+
sender.send("TASKS_FAILED_TO_PARSE", { zodIssues: err.error.issues, tasks: TASK_METADATA });
|
|
164
|
+
} else {
|
|
165
|
+
console.error("Failed to send TASKS_READY message", err);
|
|
166
|
+
}
|
|
155
167
|
});
|
|
156
168
|
process.title = "trigger-dev-worker";
|
|
157
169
|
async function asyncHeartbeat(initialDelayInSeconds = 30, intervalInSeconds = 5) {
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
// src/workers/prod/entry-point.ts
|
|
2
2
|
import {
|
|
3
3
|
CoordinatorToProdWorkerMessages,
|
|
4
|
+
PostStartCauses,
|
|
5
|
+
PreStopCauses,
|
|
4
6
|
ProdWorkerToCoordinatorMessages,
|
|
5
7
|
ZodSocketConnection as ZodSocketConnection2
|
|
6
8
|
} from "@trigger.dev/core/v3";
|
|
@@ -78,12 +80,12 @@ var MACHINE_NAME = process.env.MACHINE_NAME || "local";
|
|
|
78
80
|
var PLATFORM_HOST = process.env.PLATFORM_HOST || "127.0.0.1";
|
|
79
81
|
var PLATFORM_WS_PORT = process.env.PLATFORM_WS_PORT || 3030;
|
|
80
82
|
var PLATFORM_SECRET = process.env.PLATFORM_SECRET || "provider-secret";
|
|
83
|
+
var SECURE_CONNECTION = ["1", "true"].includes(process.env.SECURE_CONNECTION ?? "false");
|
|
81
84
|
var logger = new SimpleLogger(`[${MACHINE_NAME}]`);
|
|
82
85
|
|
|
83
86
|
// src/workers/prod/entry-point.ts
|
|
84
87
|
import { readFile } from "node:fs/promises";
|
|
85
88
|
import { createServer } from "node:http";
|
|
86
|
-
import { z } from "zod";
|
|
87
89
|
|
|
88
90
|
// src/workers/prod/backgroundWorker.ts
|
|
89
91
|
import {
|
|
@@ -106,6 +108,14 @@ var UncaughtExceptionError = class extends Error {
|
|
|
106
108
|
this.name = "UncaughtExceptionError";
|
|
107
109
|
}
|
|
108
110
|
};
|
|
111
|
+
var TaskMetadataParseError = class extends Error {
|
|
112
|
+
constructor(zodIssues, tasks) {
|
|
113
|
+
super(`Failed to parse task metadata`);
|
|
114
|
+
this.zodIssues = zodIssues;
|
|
115
|
+
this.tasks = tasks;
|
|
116
|
+
this.name = "TaskMetadataParseError";
|
|
117
|
+
}
|
|
118
|
+
};
|
|
109
119
|
|
|
110
120
|
// src/workers/prod/backgroundWorker.ts
|
|
111
121
|
var UnexpectedExitError = class extends Error {
|
|
@@ -204,6 +214,14 @@ var ProdBackgroundWorker = class {
|
|
|
204
214
|
reject(new UncaughtExceptionError(message.error, message.origin));
|
|
205
215
|
child.kill();
|
|
206
216
|
}
|
|
217
|
+
},
|
|
218
|
+
TASKS_FAILED_TO_PARSE: async (message) => {
|
|
219
|
+
if (!resolved) {
|
|
220
|
+
clearTimeout(timeout);
|
|
221
|
+
resolved = true;
|
|
222
|
+
reject(new TaskMetadataParseError(message.zodIssues, message.tasks));
|
|
223
|
+
child.kill();
|
|
224
|
+
}
|
|
207
225
|
}
|
|
208
226
|
}
|
|
209
227
|
});
|
|
@@ -245,6 +263,7 @@ var ProdBackgroundWorker = class {
|
|
|
245
263
|
);
|
|
246
264
|
if (!this._taskRunProcess) {
|
|
247
265
|
const taskRunProcess = new TaskRunProcess(
|
|
266
|
+
payload.execution,
|
|
248
267
|
this.path,
|
|
249
268
|
{
|
|
250
269
|
...this.params.env,
|
|
@@ -356,7 +375,8 @@ var ProdBackgroundWorker = class {
|
|
|
356
375
|
}
|
|
357
376
|
};
|
|
358
377
|
var TaskRunProcess = class {
|
|
359
|
-
constructor(path, env, metadata, worker) {
|
|
378
|
+
constructor(execution, path, env, metadata, worker) {
|
|
379
|
+
this.execution = execution;
|
|
360
380
|
this.path = path;
|
|
361
381
|
this.env = env;
|
|
362
382
|
this.metadata = metadata;
|
|
@@ -389,6 +409,7 @@ var TaskRunProcess = class {
|
|
|
389
409
|
"ipc"
|
|
390
410
|
],
|
|
391
411
|
env: {
|
|
412
|
+
...this.execution.run.isTest ? { TRIGGER_LOG_LEVEL: "debug" } : {},
|
|
392
413
|
...this.env,
|
|
393
414
|
OTEL_RESOURCE_ATTRIBUTES: JSON.stringify({
|
|
394
415
|
[SemanticInternalAttributes.PROJECT_DIR]: this.worker.projectConfig.projectDir
|
|
@@ -866,7 +887,18 @@ var ProdWorker = class {
|
|
|
866
887
|
process.exit(1);
|
|
867
888
|
}
|
|
868
889
|
} catch (e) {
|
|
869
|
-
if (e instanceof
|
|
890
|
+
if (e instanceof TaskMetadataParseError) {
|
|
891
|
+
logger3.error("tasks metadata parse error", { message: e.zodIssues, tasks: e.tasks });
|
|
892
|
+
socket.emit("INDEXING_FAILED", {
|
|
893
|
+
version: "v1",
|
|
894
|
+
deploymentId: this.deploymentId,
|
|
895
|
+
error: {
|
|
896
|
+
name: "TaskMetadataParseError",
|
|
897
|
+
message: "There was an error parsing the task metadata",
|
|
898
|
+
stack: JSON.stringify({ zodIssues: e.zodIssues, tasks: e.tasks })
|
|
899
|
+
}
|
|
900
|
+
});
|
|
901
|
+
} else if (e instanceof UncaughtExceptionError) {
|
|
870
902
|
logger3.error("uncaught exception", { message: e.originalError.message });
|
|
871
903
|
socket.emit("INDEXING_FAILED", {
|
|
872
904
|
version: "v1",
|
|
@@ -992,20 +1024,13 @@ var ProdWorker = class {
|
|
|
992
1024
|
return reply.text("Received ACK from coordinator");
|
|
993
1025
|
}
|
|
994
1026
|
case "/preStop": {
|
|
995
|
-
const
|
|
996
|
-
const cause = schema.safeParse(url.searchParams.get("cause"));
|
|
1027
|
+
const cause = PreStopCauses.safeParse(url.searchParams.get("cause"));
|
|
997
1028
|
if (!cause.success) {
|
|
998
1029
|
logger2.error("Failed to parse cause", { cause });
|
|
999
|
-
return;
|
|
1030
|
+
return reply.text("Failed to parse cause", 400);
|
|
1000
1031
|
}
|
|
1001
1032
|
switch (cause.data) {
|
|
1002
|
-
case "
|
|
1003
|
-
break;
|
|
1004
|
-
}
|
|
1005
|
-
case "create": {
|
|
1006
|
-
break;
|
|
1007
|
-
}
|
|
1008
|
-
case "restore": {
|
|
1033
|
+
case "terminate": {
|
|
1009
1034
|
break;
|
|
1010
1035
|
}
|
|
1011
1036
|
default: {
|
|
@@ -1017,11 +1042,10 @@ var ProdWorker = class {
|
|
|
1017
1042
|
return reply.text("preStop ok");
|
|
1018
1043
|
}
|
|
1019
1044
|
case "/postStart": {
|
|
1020
|
-
const
|
|
1021
|
-
const cause = schema.safeParse(url.searchParams.get("cause"));
|
|
1045
|
+
const cause = PostStartCauses.safeParse(url.searchParams.get("cause"));
|
|
1022
1046
|
if (!cause.success) {
|
|
1023
1047
|
logger2.error("Failed to parse cause", { cause });
|
|
1024
|
-
return;
|
|
1048
|
+
return reply.text("Failed to parse cause", 400);
|
|
1025
1049
|
}
|
|
1026
1050
|
switch (cause.data) {
|
|
1027
1051
|
case "index": {
|
|
@@ -1076,11 +1100,7 @@ var ProdWorker = class {
|
|
|
1076
1100
|
throw new Error(`Background Worker started without tasks`);
|
|
1077
1101
|
}
|
|
1078
1102
|
for (const task of this.#backgroundWorker.tasks) {
|
|
1079
|
-
taskResources.push(
|
|
1080
|
-
id: task.id,
|
|
1081
|
-
filePath: task.filePath,
|
|
1082
|
-
exportName: task.exportName
|
|
1083
|
-
});
|
|
1103
|
+
taskResources.push(task);
|
|
1084
1104
|
packageVersion = task.packageVersion;
|
|
1085
1105
|
}
|
|
1086
1106
|
if (!packageVersion) {
|
|
@@ -4,7 +4,11 @@ import {
|
|
|
4
4
|
ProdWorkerToChildMessages,
|
|
5
5
|
TaskExecutor,
|
|
6
6
|
ZodIpcConnection,
|
|
7
|
-
|
|
7
|
+
DurableClock,
|
|
8
|
+
clock,
|
|
9
|
+
getEnvVar,
|
|
10
|
+
logLevels,
|
|
11
|
+
ZodSchemaParsedError
|
|
8
12
|
} from "@trigger.dev/core/v3";
|
|
9
13
|
import "source-map-support/register.js";
|
|
10
14
|
import {
|
|
@@ -18,21 +22,23 @@ import {
|
|
|
18
22
|
} from "@trigger.dev/core/v3";
|
|
19
23
|
|
|
20
24
|
// package.json
|
|
21
|
-
var version = "0.0.0-v3-
|
|
25
|
+
var version = "0.0.0-v3-pnpm-fix-20240403154252";
|
|
22
26
|
|
|
23
27
|
// src/workers/prod/worker-facade.ts
|
|
24
28
|
__WORKER_SETUP__;
|
|
25
29
|
__IMPORTED_PROJECT_CONFIG__;
|
|
26
30
|
var otelTracer = tracingSDK.getTracer("trigger-prod-worker", version);
|
|
27
31
|
var otelLogger = tracingSDK.getLogger("trigger-prod-worker", version);
|
|
28
|
-
var
|
|
32
|
+
var durableClock = new DurableClock();
|
|
33
|
+
clock.setGlobalClock(durableClock);
|
|
29
34
|
var tracer = new TriggerTracer({ tracer: otelTracer, logger: otelLogger });
|
|
30
|
-
var consoleInterceptor = new ConsoleInterceptor(otelLogger
|
|
35
|
+
var consoleInterceptor = new ConsoleInterceptor(otelLogger);
|
|
36
|
+
var triggerLogLevel = getEnvVar("TRIGGER_LOG_LEVEL");
|
|
37
|
+
var configLogLevel = triggerLogLevel ? triggerLogLevel : importedConfig ? importedConfig.logLevel : __PROJECT_CONFIG__.logLevel;
|
|
31
38
|
var otelTaskLogger = new OtelTaskLogger({
|
|
32
39
|
logger: otelLogger,
|
|
33
40
|
tracer,
|
|
34
|
-
level: "
|
|
35
|
-
preciseDateOrigin
|
|
41
|
+
level: logLevels.includes(configLogLevel) ? configLogLevel : "log"
|
|
36
42
|
});
|
|
37
43
|
logger.setGlobalTaskLogger(otelTaskLogger);
|
|
38
44
|
var TaskFileImports = {};
|
|
@@ -51,6 +57,7 @@ function getTasks() {
|
|
|
51
57
|
filePath: taskFile.filePath,
|
|
52
58
|
queue: task.__trigger.queue,
|
|
53
59
|
retry: task.__trigger.retry,
|
|
60
|
+
machine: task.__trigger.machine,
|
|
54
61
|
fns: task.__trigger.fns
|
|
55
62
|
});
|
|
56
63
|
}
|
|
@@ -152,10 +159,17 @@ var zodIpc = new ZodIpcConnection({
|
|
|
152
159
|
}
|
|
153
160
|
}
|
|
154
161
|
});
|
|
155
|
-
var prodRuntimeManager = new ProdRuntimeManager(zodIpc
|
|
162
|
+
var prodRuntimeManager = new ProdRuntimeManager(zodIpc, {
|
|
163
|
+
waitThresholdInMs: parseInt(process.env.TRIGGER_RUNTIME_WAIT_THRESHOLD_IN_MS ?? "30000", 10)
|
|
164
|
+
});
|
|
156
165
|
runtime.setGlobalRuntimeManager(prodRuntimeManager);
|
|
157
|
-
|
|
158
|
-
|
|
166
|
+
var TASK_METADATA = getTaskMetadata();
|
|
167
|
+
zodIpc.send("TASKS_READY", { tasks: TASK_METADATA }).catch((err) => {
|
|
168
|
+
if (err instanceof ZodSchemaParsedError) {
|
|
169
|
+
zodIpc.send("TASKS_FAILED_TO_PARSE", { zodIssues: err.error.issues, tasks: TASK_METADATA });
|
|
170
|
+
} else {
|
|
171
|
+
console.error("Failed to send TASKS_READY message", err);
|
|
172
|
+
}
|
|
159
173
|
});
|
|
160
174
|
process.title = "trigger-prod-worker";
|
|
161
175
|
async function asyncHeartbeat(initialDelayInSeconds = 30, intervalInSeconds = 5) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "trigger.dev",
|
|
3
|
-
"version": "0.0.0-v3-
|
|
3
|
+
"version": "0.0.0-v3-pnpm-fix-20240403154252",
|
|
4
4
|
"description": "A Command-Line Interface for Trigger.dev (v3) projects",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -54,8 +54,8 @@
|
|
|
54
54
|
"typescript": "^5.3.3",
|
|
55
55
|
"vitest": "^0.34.4",
|
|
56
56
|
"xdg-app-paths": "^8.3.0",
|
|
57
|
-
"@trigger.dev/
|
|
58
|
-
"@trigger.dev/
|
|
57
|
+
"@trigger.dev/tsconfig": "0.0.0",
|
|
58
|
+
"@trigger.dev/core-apps": "0.0.0-v3-pnpm-fix-20240403154252"
|
|
59
59
|
},
|
|
60
60
|
"watch": {
|
|
61
61
|
"build:prod-containerfile": "src/Containerfile.prod"
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
"@opentelemetry/sdk-trace-base": "^1.22.0",
|
|
76
76
|
"@opentelemetry/sdk-trace-node": "^1.22.0",
|
|
77
77
|
"@opentelemetry/semantic-conventions": "^1.22.0",
|
|
78
|
-
"@trigger.dev/core": "0.0.0-v3-
|
|
78
|
+
"@trigger.dev/core": "0.0.0-v3-pnpm-fix-20240403154252",
|
|
79
79
|
"@types/degit": "^2.8.3",
|
|
80
80
|
"chalk": "^5.2.0",
|
|
81
81
|
"chokidar": "^3.5.3",
|
|
@@ -99,6 +99,7 @@
|
|
|
99
99
|
"node-fetch": "^3.3.0",
|
|
100
100
|
"npm-check-updates": "^16.12.2",
|
|
101
101
|
"object-hash": "^3.0.0",
|
|
102
|
+
"p-debounce": "^4.0.0",
|
|
102
103
|
"p-throttle": "^6.1.0",
|
|
103
104
|
"partysocket": "^0.0.17",
|
|
104
105
|
"proxy-agent": "^6.3.0",
|