trigger.dev 3.0.0-beta.4 → 3.0.0-beta.40
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.
- package/dist/Containerfile.prod +17 -4
- package/dist/index.js +2371 -851
- package/dist/index.js.map +1 -1
- package/dist/templates/trigger.config.ts.template +1 -1
- package/dist/workers/dev/worker-facade.js +71 -66
- package/dist/workers/dev/worker-setup.js +18 -23
- package/dist/workers/prod/entry-point.js +686 -305
- package/dist/workers/prod/worker-facade.js +102 -72
- package/dist/workers/prod/worker-setup.js +14 -25
- package/package.json +14 -18
|
@@ -1,36 +1,40 @@
|
|
|
1
1
|
// src/workers/dev/worker-facade.ts
|
|
2
2
|
import {
|
|
3
|
-
TaskExecutor,
|
|
4
|
-
DurableClock,
|
|
5
3
|
clock,
|
|
6
|
-
|
|
7
|
-
getEnvVar,
|
|
8
|
-
ZodSchemaParsedError
|
|
4
|
+
taskCatalog
|
|
9
5
|
} from "@trigger.dev/core/v3";
|
|
10
6
|
import {
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
TaskExecutor,
|
|
8
|
+
DurableClock,
|
|
9
|
+
getEnvVar,
|
|
10
|
+
logLevels,
|
|
13
11
|
OtelTaskLogger,
|
|
12
|
+
ConsoleInterceptor,
|
|
13
|
+
usage,
|
|
14
|
+
DevUsageManager
|
|
15
|
+
} from "@trigger.dev/core/v3/workers";
|
|
16
|
+
import {
|
|
14
17
|
TaskRunErrorCodes,
|
|
15
18
|
TriggerTracer,
|
|
16
|
-
ZodMessageHandler,
|
|
17
19
|
logger,
|
|
18
20
|
runtime,
|
|
19
21
|
workerToChildMessages
|
|
20
22
|
} from "@trigger.dev/core/v3";
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
import { DevRuntimeManager } from "@trigger.dev/core/v3/dev";
|
|
24
|
+
import {
|
|
25
|
+
ZodMessageHandler,
|
|
26
|
+
ZodSchemaParsedError
|
|
27
|
+
} from "@trigger.dev/core/v3/zodMessageHandler";
|
|
26
28
|
__WORKER_SETUP__;
|
|
27
29
|
__IMPORTED_PROJECT_CONFIG__;
|
|
28
|
-
var otelTracer = tracingSDK.getTracer("trigger-dev-worker", version);
|
|
29
|
-
var otelLogger = tracingSDK.getLogger("trigger-dev-worker", version);
|
|
30
30
|
var durableClock = new DurableClock();
|
|
31
31
|
clock.setGlobalClock(durableClock);
|
|
32
|
+
usage.setGlobalUsageManager(new DevUsageManager());
|
|
32
33
|
var tracer = new TriggerTracer({ tracer: otelTracer, logger: otelLogger });
|
|
33
|
-
var consoleInterceptor = new ConsoleInterceptor(
|
|
34
|
+
var consoleInterceptor = new ConsoleInterceptor(
|
|
35
|
+
otelLogger,
|
|
36
|
+
typeof __PROJECT_CONFIG__.enableConsoleLogging === "boolean" ? __PROJECT_CONFIG__.enableConsoleLogging : true
|
|
37
|
+
);
|
|
34
38
|
var devRuntimeManager = new DevRuntimeManager();
|
|
35
39
|
runtime.setGlobalRuntimeManager(devRuntimeManager);
|
|
36
40
|
var triggerLogLevel = getEnvVar("TRIGGER_LOG_LEVEL");
|
|
@@ -38,56 +42,27 @@ var configLogLevel = triggerLogLevel ? triggerLogLevel : importedConfig ? import
|
|
|
38
42
|
var otelTaskLogger = new OtelTaskLogger({
|
|
39
43
|
logger: otelLogger,
|
|
40
44
|
tracer,
|
|
41
|
-
level: logLevels.includes(configLogLevel) ? configLogLevel : "
|
|
45
|
+
level: logLevels.includes(configLogLevel) ? configLogLevel : "info"
|
|
42
46
|
});
|
|
43
47
|
logger.setGlobalTaskLogger(otelTaskLogger);
|
|
44
48
|
var TaskFileImports = {};
|
|
45
49
|
var TaskFiles = {};
|
|
46
50
|
__TASKS__;
|
|
47
|
-
|
|
48
|
-
const result = [];
|
|
51
|
+
(() => {
|
|
49
52
|
for (const [importName, taskFile] of Object.entries(TaskFiles)) {
|
|
50
53
|
const fileImports = TaskFileImports[importName];
|
|
51
54
|
for (const [exportName, task] of Object.entries(fileImports ?? {})) {
|
|
52
|
-
if (task.
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
retry: task.__trigger.retry,
|
|
60
|
-
machine: task.__trigger.machine,
|
|
61
|
-
fns: task.__trigger.fns
|
|
62
|
-
});
|
|
55
|
+
if (typeof task === "object" && task !== null && "id" in task && typeof task.id === "string") {
|
|
56
|
+
if (taskCatalog.taskExists(task.id)) {
|
|
57
|
+
taskCatalog.registerTaskFileMetadata(task.id, {
|
|
58
|
+
exportName,
|
|
59
|
+
filePath: taskFile.filePath
|
|
60
|
+
});
|
|
61
|
+
}
|
|
63
62
|
}
|
|
64
63
|
}
|
|
65
64
|
}
|
|
66
|
-
|
|
67
|
-
}
|
|
68
|
-
function getTaskMetadata() {
|
|
69
|
-
const result = getTasks();
|
|
70
|
-
return result.map((task) => {
|
|
71
|
-
const { fns, ...metadata } = task;
|
|
72
|
-
return metadata;
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
var tasks = getTasks();
|
|
76
|
-
runtime.registerTasks(tasks);
|
|
77
|
-
var taskExecutors = /* @__PURE__ */ new Map();
|
|
78
|
-
for (const task of tasks) {
|
|
79
|
-
taskExecutors.set(
|
|
80
|
-
task.id,
|
|
81
|
-
new TaskExecutor(task, {
|
|
82
|
-
tracer,
|
|
83
|
-
tracingSDK,
|
|
84
|
-
consoleInterceptor,
|
|
85
|
-
projectConfig: __PROJECT_CONFIG__,
|
|
86
|
-
importedConfig,
|
|
87
|
-
handleErrorFn: handleError
|
|
88
|
-
})
|
|
89
|
-
);
|
|
90
|
-
}
|
|
65
|
+
})();
|
|
91
66
|
var _execution;
|
|
92
67
|
var _isRunning = false;
|
|
93
68
|
var handler = new ZodMessageHandler({
|
|
@@ -100,47 +75,77 @@ var handler = new ZodMessageHandler({
|
|
|
100
75
|
execution,
|
|
101
76
|
result: {
|
|
102
77
|
ok: false,
|
|
103
|
-
id: execution.
|
|
78
|
+
id: execution.run.id,
|
|
104
79
|
error: {
|
|
105
80
|
type: "INTERNAL_ERROR",
|
|
106
81
|
code: TaskRunErrorCodes.TASK_ALREADY_RUNNING
|
|
82
|
+
},
|
|
83
|
+
usage: {
|
|
84
|
+
durationMs: 0
|
|
107
85
|
}
|
|
108
86
|
}
|
|
109
87
|
});
|
|
110
88
|
return;
|
|
111
89
|
}
|
|
112
90
|
process.title = `trigger-dev-worker: ${execution.task.id} ${execution.run.id}`;
|
|
113
|
-
const
|
|
114
|
-
if (!
|
|
115
|
-
console.error(`Could not find
|
|
91
|
+
const task = taskCatalog.getTask(execution.task.id);
|
|
92
|
+
if (!task) {
|
|
93
|
+
console.error(`Could not find task ${execution.task.id}`);
|
|
116
94
|
await sender.send("TASK_RUN_COMPLETED", {
|
|
117
95
|
execution,
|
|
118
96
|
result: {
|
|
119
97
|
ok: false,
|
|
120
|
-
id: execution.
|
|
98
|
+
id: execution.run.id,
|
|
121
99
|
error: {
|
|
122
100
|
type: "INTERNAL_ERROR",
|
|
123
101
|
code: TaskRunErrorCodes.COULD_NOT_FIND_EXECUTOR
|
|
102
|
+
},
|
|
103
|
+
usage: {
|
|
104
|
+
durationMs: 0
|
|
124
105
|
}
|
|
125
106
|
}
|
|
126
107
|
});
|
|
127
108
|
return;
|
|
128
109
|
}
|
|
110
|
+
const executor = new TaskExecutor(task, {
|
|
111
|
+
tracer,
|
|
112
|
+
tracingSDK,
|
|
113
|
+
consoleInterceptor,
|
|
114
|
+
projectConfig: __PROJECT_CONFIG__,
|
|
115
|
+
importedConfig,
|
|
116
|
+
handleErrorFn: handleError
|
|
117
|
+
});
|
|
129
118
|
try {
|
|
130
119
|
_execution = execution;
|
|
131
120
|
_isRunning = true;
|
|
132
|
-
const
|
|
121
|
+
const measurement = usage.start();
|
|
122
|
+
const { result } = await executor.execute(execution, metadata, traceContext, measurement);
|
|
123
|
+
const usageSample = usage.stop(measurement);
|
|
133
124
|
return sender.send("TASK_RUN_COMPLETED", {
|
|
134
125
|
execution,
|
|
135
|
-
result
|
|
126
|
+
result: {
|
|
127
|
+
...result,
|
|
128
|
+
usage: {
|
|
129
|
+
durationMs: usageSample.cpuTime
|
|
130
|
+
}
|
|
131
|
+
}
|
|
136
132
|
});
|
|
137
133
|
} finally {
|
|
138
134
|
_execution = void 0;
|
|
139
135
|
_isRunning = false;
|
|
140
136
|
}
|
|
141
137
|
},
|
|
142
|
-
TASK_RUN_COMPLETED_NOTIFICATION: async (
|
|
143
|
-
|
|
138
|
+
TASK_RUN_COMPLETED_NOTIFICATION: async (payload) => {
|
|
139
|
+
switch (payload.version) {
|
|
140
|
+
case "v1": {
|
|
141
|
+
devRuntimeManager.resumeTask(payload.completion, payload.execution.run.id);
|
|
142
|
+
break;
|
|
143
|
+
}
|
|
144
|
+
case "v2": {
|
|
145
|
+
devRuntimeManager.resumeTask(payload.completion, payload.completion.id);
|
|
146
|
+
break;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
144
149
|
},
|
|
145
150
|
CLEANUP: async ({ flush, kill }) => {
|
|
146
151
|
if (kill) {
|
|
@@ -157,7 +162,7 @@ var handler = new ZodMessageHandler({
|
|
|
157
162
|
process.on("message", async (msg) => {
|
|
158
163
|
await handler.handleMessage(msg);
|
|
159
164
|
});
|
|
160
|
-
var TASK_METADATA =
|
|
165
|
+
var TASK_METADATA = taskCatalog.getAllTaskMetadata();
|
|
161
166
|
sender.send("TASKS_READY", { tasks: TASK_METADATA }).catch((err) => {
|
|
162
167
|
if (err instanceof ZodSchemaParsedError) {
|
|
163
168
|
sender.send("TASKS_FAILED_TO_PARSE", { zodIssues: err.error.issues, tasks: TASK_METADATA });
|
|
@@ -166,7 +171,7 @@ sender.send("TASKS_READY", { tasks: TASK_METADATA }).catch((err) => {
|
|
|
166
171
|
}
|
|
167
172
|
});
|
|
168
173
|
process.title = "trigger-dev-worker";
|
|
169
|
-
async function asyncHeartbeat(initialDelayInSeconds = 30, intervalInSeconds =
|
|
174
|
+
async function asyncHeartbeat(initialDelayInSeconds = 30, intervalInSeconds = 30) {
|
|
170
175
|
async function _doHeartbeat() {
|
|
171
176
|
while (true) {
|
|
172
177
|
if (_isRunning && _execution) {
|
|
@@ -1,40 +1,35 @@
|
|
|
1
1
|
// src/workers/dev/worker-setup.ts
|
|
2
|
-
import "
|
|
3
|
-
import { Resource } from "@opentelemetry/resources";
|
|
2
|
+
import { childToWorkerMessages, taskCatalog } from "@trigger.dev/core/v3";
|
|
4
3
|
import {
|
|
5
|
-
|
|
6
|
-
TracingSDK
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
StandardTaskCatalog,
|
|
5
|
+
TracingSDK
|
|
6
|
+
} from "@trigger.dev/core/v3/workers";
|
|
7
|
+
import { ZodMessageSender } from "@trigger.dev/core/v3/zodMessageHandler";
|
|
8
|
+
import "source-map-support/register.js";
|
|
9
|
+
|
|
10
|
+
// package.json
|
|
11
|
+
var version = "3.0.0-beta.40";
|
|
12
|
+
|
|
13
|
+
// src/workers/dev/worker-setup.ts
|
|
10
14
|
__SETUP_IMPORTED_PROJECT_CONFIG__;
|
|
11
15
|
var tracingSDK = new TracingSDK({
|
|
12
16
|
url: process.env.OTEL_EXPORTER_OTLP_ENDPOINT ?? "http://0.0.0.0:4318",
|
|
13
|
-
resource: new Resource({
|
|
14
|
-
[SemanticInternalAttributes.CLI_VERSION]: "3.0.0"
|
|
15
|
-
}),
|
|
16
17
|
instrumentations: setupImportedConfig?.instrumentations ?? [],
|
|
17
|
-
diagLogLevel: process.env.OTEL_LOG_LEVEL ?? "none"
|
|
18
|
+
diagLogLevel: process.env.OTEL_LOG_LEVEL ?? "none",
|
|
19
|
+
forceFlushTimeoutMillis: 5e3
|
|
18
20
|
});
|
|
21
|
+
var otelTracer = tracingSDK.getTracer("trigger-dev-worker", version);
|
|
22
|
+
var otelLogger = tracingSDK.getLogger("trigger-dev-worker", version);
|
|
19
23
|
var sender = new ZodMessageSender({
|
|
20
24
|
schema: childToWorkerMessages,
|
|
21
25
|
sender: async (message) => {
|
|
22
26
|
process.send?.(message);
|
|
23
27
|
}
|
|
24
28
|
});
|
|
25
|
-
|
|
26
|
-
sender.send("UNCAUGHT_EXCEPTION", {
|
|
27
|
-
error: {
|
|
28
|
-
name: error.name,
|
|
29
|
-
message: error.message,
|
|
30
|
-
stack: error.stack
|
|
31
|
-
},
|
|
32
|
-
origin
|
|
33
|
-
}).catch((err) => {
|
|
34
|
-
console.error("Failed to send UNCAUGHT_EXCEPTION message", err);
|
|
35
|
-
});
|
|
36
|
-
});
|
|
29
|
+
taskCatalog.setGlobalTaskCatalog(new StandardTaskCatalog());
|
|
37
30
|
export {
|
|
31
|
+
otelLogger,
|
|
32
|
+
otelTracer,
|
|
38
33
|
sender,
|
|
39
34
|
tracingSDK
|
|
40
35
|
};
|