trigger.dev 0.0.0-prerelease-20240410151927 → 0.0.0-v2-prerelease-20240524135558
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 +5 -1
- package/dist/index.js +1544 -552
- package/dist/index.js.map +1 -1
- package/dist/workers/dev/worker-facade.js +41 -61
- package/dist/workers/dev/worker-setup.js +16 -22
- package/dist/workers/prod/entry-point.js +127 -59
- package/dist/workers/prod/worker-facade.js +52 -61
- package/dist/workers/prod/worker-setup.js +12 -24
- package/package.json +15 -61
|
@@ -2,92 +2,59 @@
|
|
|
2
2
|
import {
|
|
3
3
|
ProdChildToWorkerMessages,
|
|
4
4
|
ProdWorkerToChildMessages,
|
|
5
|
+
clock,
|
|
6
|
+
taskCatalog
|
|
7
|
+
} from "@trigger.dev/core/v3";
|
|
8
|
+
import {
|
|
5
9
|
TaskExecutor,
|
|
6
|
-
ZodIpcConnection,
|
|
7
10
|
DurableClock,
|
|
8
|
-
clock,
|
|
9
11
|
getEnvVar,
|
|
10
12
|
logLevels,
|
|
11
|
-
|
|
12
|
-
|
|
13
|
+
OtelTaskLogger,
|
|
14
|
+
ConsoleInterceptor
|
|
15
|
+
} from "@trigger.dev/core/v3/workers";
|
|
16
|
+
import { ZodIpcConnection } from "@trigger.dev/core/v3/zodIpc";
|
|
17
|
+
import { ZodSchemaParsedError } from "@trigger.dev/core/v3/zodMessageHandler";
|
|
13
18
|
import "source-map-support/register.js";
|
|
14
19
|
import {
|
|
15
|
-
ConsoleInterceptor,
|
|
16
|
-
OtelTaskLogger,
|
|
17
|
-
ProdRuntimeManager,
|
|
18
20
|
TaskRunErrorCodes,
|
|
19
21
|
TriggerTracer,
|
|
20
22
|
logger,
|
|
21
23
|
runtime
|
|
22
24
|
} from "@trigger.dev/core/v3";
|
|
23
|
-
|
|
24
|
-
// package.json
|
|
25
|
-
var version = "0.0.0-prerelease-20240410151927";
|
|
26
|
-
|
|
27
|
-
// src/workers/prod/worker-facade.ts
|
|
25
|
+
import { ProdRuntimeManager } from "@trigger.dev/core/v3/prod";
|
|
28
26
|
__WORKER_SETUP__;
|
|
29
27
|
__IMPORTED_PROJECT_CONFIG__;
|
|
30
|
-
var otelTracer = tracingSDK.getTracer("trigger-prod-worker", version);
|
|
31
|
-
var otelLogger = tracingSDK.getLogger("trigger-prod-worker", version);
|
|
32
28
|
var durableClock = new DurableClock();
|
|
33
29
|
clock.setGlobalClock(durableClock);
|
|
34
30
|
var tracer = new TriggerTracer({ tracer: otelTracer, logger: otelLogger });
|
|
35
|
-
var consoleInterceptor = new ConsoleInterceptor(otelLogger);
|
|
31
|
+
var consoleInterceptor = new ConsoleInterceptor(otelLogger, true);
|
|
36
32
|
var triggerLogLevel = getEnvVar("TRIGGER_LOG_LEVEL");
|
|
37
33
|
var configLogLevel = triggerLogLevel ? triggerLogLevel : importedConfig ? importedConfig.logLevel : __PROJECT_CONFIG__.logLevel;
|
|
38
34
|
var otelTaskLogger = new OtelTaskLogger({
|
|
39
35
|
logger: otelLogger,
|
|
40
36
|
tracer,
|
|
41
|
-
level: logLevels.includes(configLogLevel) ? configLogLevel : "
|
|
37
|
+
level: logLevels.includes(configLogLevel) ? configLogLevel : "info"
|
|
42
38
|
});
|
|
43
39
|
logger.setGlobalTaskLogger(otelTaskLogger);
|
|
44
40
|
var TaskFileImports = {};
|
|
45
41
|
var TaskFiles = {};
|
|
46
42
|
__TASKS__;
|
|
47
|
-
|
|
48
|
-
const result = [];
|
|
43
|
+
(() => {
|
|
49
44
|
for (const [importName, taskFile] of Object.entries(TaskFiles)) {
|
|
50
45
|
const fileImports = TaskFileImports[importName];
|
|
51
46
|
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
|
-
});
|
|
47
|
+
if (typeof task === "object" && task !== null && "id" in task && typeof task.id === "string") {
|
|
48
|
+
if (taskCatalog.taskExists(task.id)) {
|
|
49
|
+
taskCatalog.registerTaskFileMetadata(task.id, {
|
|
50
|
+
exportName,
|
|
51
|
+
filePath: taskFile.filePath
|
|
52
|
+
});
|
|
53
|
+
}
|
|
63
54
|
}
|
|
64
55
|
}
|
|
65
56
|
}
|
|
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
|
-
}
|
|
57
|
+
})();
|
|
91
58
|
var _execution;
|
|
92
59
|
var _isRunning = false;
|
|
93
60
|
var zodIpc = new ZodIpcConnection({
|
|
@@ -102,7 +69,7 @@ var zodIpc = new ZodIpcConnection({
|
|
|
102
69
|
execution,
|
|
103
70
|
result: {
|
|
104
71
|
ok: false,
|
|
105
|
-
id: execution.
|
|
72
|
+
id: execution.run.id,
|
|
106
73
|
error: {
|
|
107
74
|
type: "INTERNAL_ERROR",
|
|
108
75
|
code: TaskRunErrorCodes.TASK_ALREADY_RUNNING
|
|
@@ -112,14 +79,14 @@ var zodIpc = new ZodIpcConnection({
|
|
|
112
79
|
return;
|
|
113
80
|
}
|
|
114
81
|
process.title = `trigger-prod-worker: ${execution.task.id} ${execution.run.id}`;
|
|
115
|
-
const
|
|
116
|
-
if (!
|
|
117
|
-
console.error(`Could not find
|
|
82
|
+
const task = taskCatalog.getTask(execution.task.id);
|
|
83
|
+
if (!task) {
|
|
84
|
+
console.error(`Could not find task ${execution.task.id}`);
|
|
118
85
|
await sender.send("TASK_RUN_COMPLETED", {
|
|
119
86
|
execution,
|
|
120
87
|
result: {
|
|
121
88
|
ok: false,
|
|
122
|
-
id: execution.
|
|
89
|
+
id: execution.run.id,
|
|
123
90
|
error: {
|
|
124
91
|
type: "INTERNAL_ERROR",
|
|
125
92
|
code: TaskRunErrorCodes.COULD_NOT_FIND_EXECUTOR
|
|
@@ -128,6 +95,14 @@ var zodIpc = new ZodIpcConnection({
|
|
|
128
95
|
});
|
|
129
96
|
return;
|
|
130
97
|
}
|
|
98
|
+
const executor = new TaskExecutor(task, {
|
|
99
|
+
tracer,
|
|
100
|
+
tracingSDK,
|
|
101
|
+
consoleInterceptor,
|
|
102
|
+
projectConfig: __PROJECT_CONFIG__,
|
|
103
|
+
importedConfig,
|
|
104
|
+
handleErrorFn: handleError
|
|
105
|
+
});
|
|
131
106
|
try {
|
|
132
107
|
_execution = execution;
|
|
133
108
|
_isRunning = true;
|
|
@@ -145,11 +120,25 @@ var zodIpc = new ZodIpcConnection({
|
|
|
145
120
|
prodRuntimeManager.resumeTask(completion, execution);
|
|
146
121
|
},
|
|
147
122
|
WAIT_COMPLETED_NOTIFICATION: async () => {
|
|
148
|
-
prodRuntimeManager.
|
|
123
|
+
prodRuntimeManager.resumeAfterDuration();
|
|
149
124
|
},
|
|
150
125
|
CLEANUP: async ({ flush, kill }, sender) => {
|
|
151
126
|
if (kill) {
|
|
152
127
|
await tracingSDK.flush();
|
|
128
|
+
if (_execution) {
|
|
129
|
+
await sender.send("TASK_RUN_COMPLETED", {
|
|
130
|
+
execution: _execution,
|
|
131
|
+
result: {
|
|
132
|
+
ok: false,
|
|
133
|
+
id: _execution.run.id,
|
|
134
|
+
error: {
|
|
135
|
+
type: "INTERNAL_ERROR",
|
|
136
|
+
code: TaskRunErrorCodes.GRACEFUL_EXIT_TIMEOUT,
|
|
137
|
+
message: "Worker process killed while attempt in progress."
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
}
|
|
153
142
|
await sender.send("READY_TO_DISPOSE", void 0);
|
|
154
143
|
} else {
|
|
155
144
|
if (flush) {
|
|
@@ -159,11 +148,13 @@ var zodIpc = new ZodIpcConnection({
|
|
|
159
148
|
}
|
|
160
149
|
}
|
|
161
150
|
});
|
|
151
|
+
process.on("SIGTERM", async () => {
|
|
152
|
+
});
|
|
162
153
|
var prodRuntimeManager = new ProdRuntimeManager(zodIpc, {
|
|
163
154
|
waitThresholdInMs: parseInt(process.env.TRIGGER_RUNTIME_WAIT_THRESHOLD_IN_MS ?? "30000", 10)
|
|
164
155
|
});
|
|
165
156
|
runtime.setGlobalRuntimeManager(prodRuntimeManager);
|
|
166
|
-
var TASK_METADATA =
|
|
157
|
+
var TASK_METADATA = taskCatalog.getAllTaskMetadata();
|
|
167
158
|
zodIpc.send("TASKS_READY", { tasks: TASK_METADATA }).catch((err) => {
|
|
168
159
|
if (err instanceof ZodSchemaParsedError) {
|
|
169
160
|
zodIpc.send("TASKS_FAILED_TO_PARSE", { zodIssues: err.error.issues, tasks: TASK_METADATA });
|
|
@@ -1,35 +1,23 @@
|
|
|
1
|
+
// package.json
|
|
2
|
+
var version = "3.0.0-beta.33";
|
|
3
|
+
|
|
1
4
|
// src/workers/prod/worker-setup.ts
|
|
2
|
-
import {
|
|
5
|
+
import { taskCatalog } from "@trigger.dev/core/v3";
|
|
3
6
|
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
} from "@trigger.dev/core/v3";
|
|
7
|
+
TracingSDK,
|
|
8
|
+
StandardTaskCatalog
|
|
9
|
+
} from "@trigger.dev/core/v3/workers";
|
|
7
10
|
__SETUP_IMPORTED_PROJECT_CONFIG__;
|
|
8
11
|
var tracingSDK = new TracingSDK({
|
|
9
12
|
url: process.env.OTEL_EXPORTER_OTLP_ENDPOINT ?? "http://0.0.0.0:4318",
|
|
10
|
-
resource: new Resource({
|
|
11
|
-
[SemanticInternalAttributes.CLI_VERSION]: "3.0.0"
|
|
12
|
-
}),
|
|
13
13
|
instrumentations: setupImportedConfig?.instrumentations ?? [],
|
|
14
14
|
diagLogLevel: process.env.OTEL_LOG_LEVEL ?? "none"
|
|
15
15
|
});
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
message: {
|
|
20
|
-
type: "UNCAUGHT_EXCEPTION",
|
|
21
|
-
payload: {
|
|
22
|
-
error: {
|
|
23
|
-
name: error.name,
|
|
24
|
-
message: error.message,
|
|
25
|
-
stack: error.stack
|
|
26
|
-
},
|
|
27
|
-
origin
|
|
28
|
-
},
|
|
29
|
-
version: "v1"
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
});
|
|
16
|
+
var otelTracer = tracingSDK.getTracer("trigger-prod-worker", version);
|
|
17
|
+
var otelLogger = tracingSDK.getLogger("trigger-prod-worker", version);
|
|
18
|
+
taskCatalog.setGlobalTaskCatalog(new StandardTaskCatalog());
|
|
33
19
|
export {
|
|
20
|
+
otelLogger,
|
|
21
|
+
otelTracer,
|
|
34
22
|
tracingSDK
|
|
35
23
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "trigger.dev",
|
|
3
|
-
"version": "0.0.0-prerelease-
|
|
3
|
+
"version": "0.0.0-v2-prerelease-20240524135558",
|
|
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",
|
|
@@ -32,103 +32,57 @@
|
|
|
32
32
|
"type": "module",
|
|
33
33
|
"exports": "./dist/index.js",
|
|
34
34
|
"bin": {
|
|
35
|
-
"
|
|
35
|
+
"trigger-v3-cli": "./dist/index.js"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@types/gradient-string": "^1.1.2",
|
|
39
39
|
"@types/mock-fs": "^4.13.1",
|
|
40
|
-
"@types/node": "
|
|
41
|
-
"@types/
|
|
42
|
-
"@types/react": "^18.2.48",
|
|
43
|
-
"@types/semver": "^7.3.13",
|
|
40
|
+
"@types/node": "16",
|
|
41
|
+
"@types/node-fetch": "^2.6.2",
|
|
44
42
|
"@types/ws": "^8.5.3",
|
|
45
|
-
"cpy-cli": "^5.0.0",
|
|
46
|
-
"npm-run-all": "^4.1.5",
|
|
47
|
-
"npm-watch": "^0.11.0",
|
|
48
43
|
"open": "^10.0.3",
|
|
49
44
|
"p-retry": "^6.1.0",
|
|
50
45
|
"rimraf": "^3.0.2",
|
|
51
|
-
"tsup": "^
|
|
46
|
+
"tsup": "^6.5.0",
|
|
52
47
|
"type-fest": "^3.6.0",
|
|
53
|
-
"typescript": "^
|
|
48
|
+
"typescript": "^4.9.5",
|
|
54
49
|
"vitest": "^0.34.4",
|
|
55
50
|
"xdg-app-paths": "^8.3.0",
|
|
56
|
-
"@trigger.dev/core
|
|
51
|
+
"@trigger.dev/core": "0.0.0-v2-prerelease-20240524135558",
|
|
57
52
|
"@trigger.dev/tsconfig": "0.0.0"
|
|
58
53
|
},
|
|
59
|
-
"watch": {
|
|
60
|
-
"build:prod-containerfile": "src/Containerfile.prod"
|
|
61
|
-
},
|
|
62
54
|
"dependencies": {
|
|
63
55
|
"@clack/prompts": "^0.7.0",
|
|
64
|
-
"@depot/cli": "0.0.1-cli.2.55.0",
|
|
65
|
-
"@opentelemetry/api": "^1.8.0",
|
|
66
|
-
"@opentelemetry/api-logs": "^0.49.1",
|
|
67
|
-
"@opentelemetry/exporter-logs-otlp-http": "^0.49.1",
|
|
68
|
-
"@opentelemetry/exporter-trace-otlp-http": "^0.49.1",
|
|
69
|
-
"@opentelemetry/instrumentation": "^0.49.1",
|
|
70
|
-
"@opentelemetry/instrumentation-fetch": "^0.49.1",
|
|
71
|
-
"@opentelemetry/resources": "^1.22.0",
|
|
72
|
-
"@opentelemetry/sdk-logs": "^0.49.1",
|
|
73
|
-
"@opentelemetry/sdk-node": "^0.49.1",
|
|
74
|
-
"@opentelemetry/sdk-trace-base": "^1.22.0",
|
|
75
|
-
"@opentelemetry/sdk-trace-node": "^1.22.0",
|
|
76
|
-
"@opentelemetry/semantic-conventions": "^1.22.0",
|
|
77
|
-
"@trigger.dev/core": "0.0.0-prerelease-20240410151927",
|
|
78
56
|
"@types/degit": "^2.8.3",
|
|
79
57
|
"chalk": "^5.2.0",
|
|
80
58
|
"chokidar": "^3.5.3",
|
|
81
59
|
"cli-table3": "^0.6.3",
|
|
82
60
|
"commander": "^9.4.1",
|
|
83
61
|
"degit": "^2.8.4",
|
|
84
|
-
"dotenv": "^16.
|
|
85
|
-
"
|
|
86
|
-
"evt": "^2.4.13",
|
|
87
|
-
"execa": "^8.0.0",
|
|
88
|
-
"find-up": "^7.0.0",
|
|
89
|
-
"glob": "^10.3.10",
|
|
62
|
+
"dotenv": "^16.3.1",
|
|
63
|
+
"execa": "^7.0.0",
|
|
90
64
|
"gradient-string": "^2.0.2",
|
|
91
|
-
"import-meta-resolve": "^4.0.0",
|
|
92
|
-
"ink": "^4.4.1",
|
|
93
|
-
"jsonc-parser": "^3.2.1",
|
|
94
65
|
"liquidjs": "^10.9.2",
|
|
95
66
|
"mock-fs": "^5.2.0",
|
|
96
67
|
"nanoid": "^4.0.2",
|
|
97
68
|
"node-fetch": "^3.3.0",
|
|
98
69
|
"npm-check-updates": "^16.12.2",
|
|
99
|
-
"
|
|
100
|
-
"p-debounce": "^4.0.0",
|
|
101
|
-
"p-throttle": "^6.1.0",
|
|
102
|
-
"partysocket": "^0.0.17",
|
|
70
|
+
"posthog-node": "^3.1.1",
|
|
103
71
|
"proxy-agent": "^6.3.0",
|
|
104
|
-
"react": "^18.2.0",
|
|
105
|
-
"react-error-boundary": "^4.0.12",
|
|
106
|
-
"semver": "^7.5.0",
|
|
107
72
|
"simple-git": "^3.19.0",
|
|
108
|
-
"socket.io-client": "^4.7.4",
|
|
109
|
-
"source-map-support": "^0.5.21",
|
|
110
|
-
"terminal-link": "^3.0.0",
|
|
111
|
-
"tiny-invariant": "^1.2.0",
|
|
112
|
-
"tsconfig-paths": "^4.2.0",
|
|
113
73
|
"update-check": "^1.5.4",
|
|
114
74
|
"url": "^0.11.1",
|
|
115
|
-
"ws": "^8.
|
|
75
|
+
"ws": "^8.11.0",
|
|
116
76
|
"zod": "3.22.3",
|
|
117
|
-
"
|
|
77
|
+
"@trigger.dev/core": "0.0.0-v2-prerelease-20240524135558"
|
|
118
78
|
},
|
|
119
79
|
"engines": {
|
|
120
80
|
"node": ">=18.0.0"
|
|
121
81
|
},
|
|
122
82
|
"scripts": {
|
|
123
|
-
"typecheck": "tsc
|
|
124
|
-
"build": "
|
|
125
|
-
"
|
|
126
|
-
"build:workers": "tsup --config tsup.workers.config.ts",
|
|
127
|
-
"build:prod-containerfile": "cpy --flat src/Containerfile.prod dist/",
|
|
128
|
-
"dev": "npm run clean && run-p dev:**",
|
|
129
|
-
"dev:main": "tsup --watch",
|
|
130
|
-
"dev:workers": "tsup --config tsup.workers.config.ts --watch",
|
|
131
|
-
"dev:prod-containerfile": "npm-watch",
|
|
83
|
+
"typecheck": "tsc",
|
|
84
|
+
"build": "tsup",
|
|
85
|
+
"dev": "tsup --watch",
|
|
132
86
|
"clean": "rimraf dist",
|
|
133
87
|
"start": "node dist/index.js",
|
|
134
88
|
"test": "vitest"
|