nmtjs 0.15.0-beta.49 → 0.15.0-beta.50
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/entrypoints/main.js +25 -4
- package/dist/entrypoints/main.js.map +1 -1
- package/dist/entrypoints/thread.d.ts +1 -0
- package/dist/entrypoints/thread.js +27 -9
- package/dist/entrypoints/thread.js.map +1 -1
- package/dist/runtime/server/jobs.js +15 -5
- package/dist/runtime/server/jobs.js.map +1 -1
- package/dist/runtime/workers/job.js +1 -4
- package/dist/runtime/workers/job.js.map +1 -1
- package/dist/vite/runners/worker.d.ts +1 -1
- package/dist/vite/runners/worker.js +3 -2
- package/dist/vite/runners/worker.js.map +1 -1
- package/dist/vite/servers/worker.js +42 -15
- package/dist/vite/servers/worker.js.map +1 -1
- package/package.json +14 -14
- package/src/entrypoints/main.ts +33 -5
- package/src/entrypoints/thread.ts +35 -9
- package/src/runtime/server/jobs.ts +22 -7
- package/src/runtime/workers/job.ts +1 -4
- package/src/vite/runners/worker.ts +5 -1
- package/src/vite/servers/worker.ts +53 -16
package/dist/entrypoints/main.js
CHANGED
|
@@ -27,8 +27,9 @@ const applicationsConfig = __APPLICATIONS_CONFIG__ ? JSON.parse(__APPLICATIONS_C
|
|
|
27
27
|
const mode = _vite?.mode === 'development' ? 'development' : 'production';
|
|
28
28
|
const isDev = mode === 'development';
|
|
29
29
|
const errorPolicy = getErrorPolicy(mode);
|
|
30
|
+
const bootstrapLogger = createLogger({ pinoOptions: { level: isDev ? 'debug' : 'info' } }, 'Main');
|
|
30
31
|
// Logger for main process (created lazily with config-based level)
|
|
31
|
-
let logger;
|
|
32
|
+
let logger = bootstrapLogger;
|
|
32
33
|
// Vite server and events (dev only)
|
|
33
34
|
let _viteServerEvents;
|
|
34
35
|
let _viteServer;
|
|
@@ -39,6 +40,17 @@ let hmrCoordinator;
|
|
|
39
40
|
let currentServerConfig;
|
|
40
41
|
// Track termination state
|
|
41
42
|
let isTerminating = false;
|
|
43
|
+
function resolveViteRunnerTimeoutMs() {
|
|
44
|
+
const raw = process.env.NMTJS_VITE_RUNNER_TIMEOUT_MS;
|
|
45
|
+
if (!raw)
|
|
46
|
+
return undefined;
|
|
47
|
+
const parsed = Number.parseInt(raw, 10);
|
|
48
|
+
if (!Number.isFinite(parsed) || parsed <= 0) {
|
|
49
|
+
logger.warn({ value: raw }, 'Invalid NMTJS_VITE_RUNNER_TIMEOUT_MS, falling back to default');
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
return parsed;
|
|
53
|
+
}
|
|
42
54
|
/**
|
|
43
55
|
* Create the ApplicationServer instance using currentServerConfig.
|
|
44
56
|
*/
|
|
@@ -48,7 +60,10 @@ function createServer() {
|
|
|
48
60
|
}
|
|
49
61
|
const workerConfig = {
|
|
50
62
|
path: fileURLToPath(new URL(`./thread${_ext}`, import.meta.url)),
|
|
51
|
-
workerData: {
|
|
63
|
+
workerData: {
|
|
64
|
+
vite: _vite?.mode,
|
|
65
|
+
viteModuleRunnerTimeoutMs: resolveViteRunnerTimeoutMs(),
|
|
66
|
+
},
|
|
52
67
|
worker: _viteServerEvents
|
|
53
68
|
? (worker) => {
|
|
54
69
|
_viteServerEvents.emit('worker', worker);
|
|
@@ -179,14 +194,20 @@ async function handleTermination() {
|
|
|
179
194
|
catch (error) {
|
|
180
195
|
logger.error(new Error('Failed to stop server', { cause: error }));
|
|
181
196
|
}
|
|
182
|
-
|
|
197
|
+
try {
|
|
198
|
+
await _viteServer?.close();
|
|
199
|
+
}
|
|
200
|
+
catch (error) {
|
|
201
|
+
logger.error(new Error('Failed to close Vite server', { cause: error }));
|
|
202
|
+
}
|
|
183
203
|
process.exit(0);
|
|
184
204
|
}
|
|
185
205
|
/**
|
|
186
206
|
* Handle unexpected errors.
|
|
187
207
|
*/
|
|
188
208
|
function handleUnexpectedError(error) {
|
|
189
|
-
|
|
209
|
+
const normalized = error instanceof Error ? error : new Error(String(error));
|
|
210
|
+
logger.error(new Error('Unexpected Error', { cause: normalized }));
|
|
190
211
|
}
|
|
191
212
|
/**
|
|
192
213
|
* Main entry point.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/entrypoints/main.ts"],"names":[],"mappings":";;;;;;;;AACA,OAAO,YAAY,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGxC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI1C,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,GACf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAA;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAOhE,MAAM,wBAAyB,SAAQ,KAAK;IAC1C,cAAc;QACZ,KAAK,CACH,6JAA6J,CAC9J,CAAA;QACD,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAA;IAAA,CACvC;CACF;AAED,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;AAC9E,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACvE,MAAM,kBAAkB,GAGpB,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAEtE,4BAA4B;AAC5B,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAA;AACzE,MAAM,KAAK,GAAG,IAAI,KAAK,aAAa,CAAA;AACpC,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/entrypoints/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,18 +22,38 @@ let runner;
|
|
|
22
22
|
let workerModule;
|
|
23
23
|
let runtime;
|
|
24
24
|
let runtimeStarted = false;
|
|
25
|
+
let cleanupPromise = null;
|
|
25
26
|
process.on('uncaughtException', (error) => {
|
|
26
27
|
reportError(error, 'runtime', { fatal: true });
|
|
27
28
|
});
|
|
28
29
|
process.on('unhandledRejection', (error) => {
|
|
29
30
|
reportError(error, 'runtime', { fatal: true });
|
|
30
31
|
});
|
|
31
|
-
process.
|
|
32
|
-
void
|
|
32
|
+
process.once('SIGTERM', () => {
|
|
33
|
+
void terminate(0);
|
|
34
|
+
});
|
|
35
|
+
process.once('SIGINT', () => {
|
|
36
|
+
void terminate(0);
|
|
37
|
+
});
|
|
38
|
+
process.once('beforeExit', () => {
|
|
39
|
+
if (!cleanupPromise && (runtimeStarted || runner)) {
|
|
40
|
+
void cleanup();
|
|
41
|
+
}
|
|
33
42
|
});
|
|
34
43
|
async function cleanup() {
|
|
35
|
-
|
|
36
|
-
|
|
44
|
+
if (cleanupPromise)
|
|
45
|
+
return cleanupPromise;
|
|
46
|
+
cleanupPromise = (async () => {
|
|
47
|
+
await stopRuntime();
|
|
48
|
+
await closeRunner();
|
|
49
|
+
})().finally(() => {
|
|
50
|
+
cleanupPromise = null;
|
|
51
|
+
});
|
|
52
|
+
return cleanupPromise;
|
|
53
|
+
}
|
|
54
|
+
async function terminate(code) {
|
|
55
|
+
await cleanup();
|
|
56
|
+
process.exit(code);
|
|
37
57
|
}
|
|
38
58
|
async function closeRunner() {
|
|
39
59
|
if (!runner)
|
|
@@ -105,7 +125,7 @@ async function loadWorkerModule() {
|
|
|
105
125
|
try {
|
|
106
126
|
if (workerData.vite) {
|
|
107
127
|
const { createModuleRunner } = (await import('../vite/runners/worker.js'));
|
|
108
|
-
runner = createModuleRunner(workerData.vite);
|
|
128
|
+
runner = createModuleRunner(workerData.vite, workerData.viteModuleRunnerTimeoutMs);
|
|
109
129
|
workerModule = await runner.import(workerPath);
|
|
110
130
|
}
|
|
111
131
|
else {
|
|
@@ -128,8 +148,7 @@ async function initializeRuntime() {
|
|
|
128
148
|
}
|
|
129
149
|
workerData.port.on('message', async (msg) => {
|
|
130
150
|
if (msg.type === 'stop') {
|
|
131
|
-
await
|
|
132
|
-
process.exit(0);
|
|
151
|
+
await terminate(0);
|
|
133
152
|
}
|
|
134
153
|
});
|
|
135
154
|
}
|
|
@@ -158,7 +177,6 @@ main().catch(async (error) => {
|
|
|
158
177
|
if (!normalized[kReportedError]) {
|
|
159
178
|
reportError(normalized, 'bootstrap');
|
|
160
179
|
}
|
|
161
|
-
await
|
|
162
|
-
process.exit(1);
|
|
180
|
+
await terminate(1);
|
|
163
181
|
});
|
|
164
182
|
//# sourceMappingURL=thread.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread.js","sourceRoot":"","sources":["../../src/entrypoints/thread.ts"],"names":[],"mappings":";;;;;;;;AACA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAG/D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"thread.js","sourceRoot":"","sources":["../../src/entrypoints/thread.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,16 @@
|
|
|
1
|
+
import { inspect } from 'node:util';
|
|
1
2
|
import { Queue, UnrecoverableError, Worker } from 'bullmq';
|
|
2
3
|
import { JobWorkerPool, WorkerType } from '../enums.js';
|
|
3
4
|
import { getJobQueueName } from '../jobs/manager.js';
|
|
4
5
|
import { createJobsUI } from '../jobs/ui.js';
|
|
5
6
|
import { JobRunnersPool } from './worker-pool.js';
|
|
7
|
+
function enrichBullMqErrorStack(error) {
|
|
8
|
+
const normalized = error instanceof Error
|
|
9
|
+
? error
|
|
10
|
+
: new Error(typeof error === 'string' ? error : inspect(error, false, 20, false));
|
|
11
|
+
normalized.stack = inspect(normalized, false, 20, false);
|
|
12
|
+
return normalized;
|
|
13
|
+
}
|
|
6
14
|
/**
|
|
7
15
|
* ApplicationServerJobs manages job worker pools and BullMQ queue workers.
|
|
8
16
|
*
|
|
@@ -116,16 +124,18 @@ export class ApplicationServerJobs {
|
|
|
116
124
|
switch (result.type) {
|
|
117
125
|
case 'success':
|
|
118
126
|
return result.result;
|
|
119
|
-
case 'unrecoverable_error':
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
127
|
+
case 'unrecoverable_error': {
|
|
128
|
+
const error = enrichBullMqErrorStack(result.error);
|
|
129
|
+
const unrecoverableError = new UnrecoverableError(error.message);
|
|
130
|
+
unrecoverableError.stack = error.stack;
|
|
131
|
+
throw unrecoverableError;
|
|
132
|
+
}
|
|
123
133
|
case 'job_not_found':
|
|
124
134
|
case 'queue_job_not_found':
|
|
125
135
|
throw new UnrecoverableError(result.type);
|
|
126
136
|
case 'error':
|
|
127
137
|
console.error(result.error);
|
|
128
|
-
throw result.error;
|
|
138
|
+
throw enrichBullMqErrorStack(result.error);
|
|
129
139
|
default:
|
|
130
140
|
throw new UnrecoverableError('Unknown job task result');
|
|
131
141
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../src/runtime/server/jobs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../src/runtime/server/jobs.ts"],"names":[],"mappings":"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"}
|
|
@@ -138,10 +138,7 @@ export class JobWorkerRuntime extends BaseWorkerRuntime {
|
|
|
138
138
|
if (error instanceof UnrecoverableError) {
|
|
139
139
|
this.runtimeOptions.port.postMessage({
|
|
140
140
|
type: 'task',
|
|
141
|
-
data: {
|
|
142
|
-
id,
|
|
143
|
-
task: { type: 'unrecoverable_error', error: error.message },
|
|
144
|
-
},
|
|
141
|
+
data: { id, task: { type: 'unrecoverable_error', error } },
|
|
145
142
|
});
|
|
146
143
|
}
|
|
147
144
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job.js","sourceRoot":"","sources":["../../../src/runtime/workers/job.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"job.js","sourceRoot":"","sources":["../../../src/runtime/workers/job.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAM3C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAO7C,MAAM,OAAO,gBAAiB,SAAQ,iBAAiB;IAI1C,MAAM;IACN,cAAc;IAJzB,SAAS,CAA6B;IAEtC,YACW,MAAoB,EACpB,cAAuC,EAChD;QACA,KAAK,CACH,MAAM,EACN,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,cAAc,cAAc,CAAC,QAAQ,EAAE,EAAE,EACxE,UAAU,CAAC,GAAG,CACf,CAAA;sBAPQ,MAAM;8BACN,cAAc;IAMtB,CACF;IAED,KAAK,CAAC,KAAK,GAAG;QACZ,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;QACvB,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IAAA,CACxD;IAED,KAAK,CAAC,IAAI,GAAG;QACX,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QACtD,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;IAAA,CACrB;IAED,KAAK,CAAC,UAAU,GAAkB;QAChC,uDAAuD;QACvD,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;gBACjD,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;oBACvB,MAAM,IAAI,KAAK,CACb,QAAQ,GAAG,CAAC,IAAI,uEAAuE,CACxF,CAAA;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,OAAO,CACpB,aAAa,EACb,IAAI,CAAC,cAAc,CAAC,QAAyB,CAC9C,CAAA;QACD,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;IAAA,CACzB;IAES,KAAK,CAAC,WAAW,GAAkB;QAC3C,MAAM,KAAK,CAAC,WAAW,EAAE,CAAA;QAEzB,IAAI,CAAC,SAAS,GAAG,IAAI,0BAA0B,CAAC;YAC9C,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAC,CAAA;QAEF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,GAAsB,EAAE,EAAE,CAAC;YACvE,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACxB,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,CAAA;gBAC7B,IAAI,CAAC;;;wBACH,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;wBACpD,IAAI,CAAC,GAAG,EAAE,CAAC;4BACT,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC;gCACnC,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE;6BAClB,CAAC,CAAA;4BAC9B,OAAM;wBACR,CAAC;wBAED,MAAM,kBAAkB,kCAAG,IAAI,CAAC,UAAW,CAAC,kBAAkB,CAC5D,GAAG,EACH,IAAI,CAAC,KAAK,CACX,QAAA,CAAA;wBACD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAA;wBAClD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;wBAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;4BACb,MAAM,IAAI,kBAAkB,CAC1B,OAAO,IAAI,CAAC,KAAK,6CAA6C,CAC/D,CAAA;wBACH,CAAC;wBAED,0DAA0D;wBAC1D,MAAM,UAAU,GAAG,OAAO,CAAC,QAEd,CAAA;wBAEb,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE;4BACzD,MAAM,EAAE,kBAAkB;4BAC1B,QAAQ,EAAE,OAAO;4BACjB,MAAM,EAAE,UAAU,EAAE,MAAM;4BAC1B,WAAW,EAAE,UAAU,EAAE,WAAW;4BACpC,gBAAgB,EAAE,UAAU,EAAE,SAAS,IAAI,CAAC;4BAC5C,QAAQ,EAAE,UAAU,EAAE,QAAQ;yBAC/B,CAAC,CAAA;wBACF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC;4BACnC,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;yBAChD,CAAC,CAAA;;;;;;;;;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,KAAK,YAAY,kBAAkB,EAAE,CAAC;wBACxC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC;4BACnC,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,EAAE;yBAC/B,CAAC,CAAA;oBAChC,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC;4BACnC,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;yBACjB,CAAC,CAAA;oBAChC,CAAC;gBACH,CAAC;YACH,CAAC;QAAA,CACF,CAAC,CAAA;IAAA,CACH;IAES,KAAK,CAAC,QAAQ,GAAkB;QACxC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAA;QACtD,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAA;IAAA,CACvB;IAES,CAAC,WAAW,GAAG;QACvB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;gBACjD,MAAM,GAAG,CAAA;gBACT,sEAAsE;gBACtE,mEAAiE;gBACjE,sBAAsB;YACxB,CAAC;QACH,CAAC;IAAA,CACF;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { BroadcastChannel } from 'node:worker_threads';
|
|
2
2
|
import { ModuleRunner } from 'vite/module-runner';
|
|
3
3
|
export declare function createBroadcastChannel(threadId: number): BroadcastChannel;
|
|
4
|
-
export declare function createModuleRunner(mode?: 'development' | 'production'): ModuleRunner;
|
|
4
|
+
export declare function createModuleRunner(mode?: 'development' | 'production', timeoutMs?: number): ModuleRunner;
|
|
@@ -4,11 +4,12 @@ import { createNodeImportMeta, ESModulesEvaluator, ModuleRunner, } from 'vite/mo
|
|
|
4
4
|
export function createBroadcastChannel(threadId) {
|
|
5
5
|
return new BroadcastChannel(`nmtjs:vite:${threadId}`);
|
|
6
6
|
}
|
|
7
|
-
export function createModuleRunner(mode = 'development') {
|
|
7
|
+
export function createModuleRunner(mode = 'development', timeoutMs = 5000) {
|
|
8
8
|
// TODO: bun does not support isInternalThread yet
|
|
9
9
|
if (isMainThread || wt.isInternalThread)
|
|
10
10
|
throw new Error('Module runner can only be created inside worker threads.');
|
|
11
11
|
const channel = createBroadcastChannel(threadId);
|
|
12
|
+
const transportTimeout = Number.isFinite(timeoutMs) && timeoutMs > 0 ? timeoutMs : 5000;
|
|
12
13
|
const transport = {
|
|
13
14
|
connect({ onMessage, onDisconnection }) {
|
|
14
15
|
// @ts-expect-error
|
|
@@ -20,7 +21,7 @@ export function createModuleRunner(mode = 'development') {
|
|
|
20
21
|
send(data) {
|
|
21
22
|
channel.postMessage(data);
|
|
22
23
|
},
|
|
23
|
-
timeout:
|
|
24
|
+
timeout: transportTimeout,
|
|
24
25
|
};
|
|
25
26
|
const runner = new ModuleRunner({
|
|
26
27
|
transport,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/vite/runners/worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EACT,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,QAAQ,GACT,MAAM,qBAAqB,CAAA;AAI5B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,GACb,MAAM,oBAAoB,CAAA;AAE3B,MAAM,UAAU,sBAAsB,CAAC,QAAgB,EAAoB;IACzE,OAAO,IAAI,gBAAgB,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAA;AAAA,CACtD;AAED,MAAM,UAAU,kBAAkB,CAChC,IAAI,GAAiC,aAAa,
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/vite/runners/worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EACT,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,QAAQ,GACT,MAAM,qBAAqB,CAAA;AAI5B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,GACb,MAAM,oBAAoB,CAAA;AAE3B,MAAM,UAAU,sBAAsB,CAAC,QAAgB,EAAoB;IACzE,OAAO,IAAI,gBAAgB,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAA;AAAA,CACtD;AAED,MAAM,UAAU,kBAAkB,CAChC,IAAI,GAAiC,aAAa,EAClD,SAAS,GAAG,IAAI,EACF;IACd,kDAAkD;IAClD,IAAI,YAAY,IAAI,EAAE,CAAC,gBAAgB;QACrC,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;IAE7E,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IAEhD,MAAM,gBAAgB,GACpB,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAA;IAEhE,MAAM,SAAS,GAA0B;QACvC,OAAO,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE;YACtC,mBAAmB;YACnB,OAAO,CAAC,SAAS,GAAG,CAAC,KAA+B,EAAE,EAAE,CAAC;gBACvD,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAAA,CACtB,CAAA;YACD,UAAW,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;QAAA,CACzC;QACD,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QAAA,CAC1B;QACD,OAAO,EAAE,gBAAgB;KAC1B,CAAA;IAED,MAAM,MAAM,GAAG,IAAI,YAAY,CAC7B;QACE,SAAS;QACT,gBAAgB,EAAE,oBAAoB;QACtC,GAAG,EACD,IAAI,KAAK,aAAa;YACpB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE;YACrD,CAAC,CAAC,KAAK;KACZ,EACD,IAAI,kBAAkB,EAAE,CACzB,CAAA;IAED,OAAO,MAAM,CAAA;AAAA,CACd"}
|
|
@@ -40,25 +40,37 @@ export async function createViteServer(options, mode, neemataConfig, events) {
|
|
|
40
40
|
const channels = new Map();
|
|
41
41
|
const clients = new Map();
|
|
42
42
|
const handlers = new Map();
|
|
43
|
+
const emit = (event, data, client) => {
|
|
44
|
+
const listeners = handlers.get(event);
|
|
45
|
+
if (!listeners?.size)
|
|
46
|
+
return;
|
|
47
|
+
for (const listener of listeners) {
|
|
48
|
+
;
|
|
49
|
+
listener(data, client);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
43
52
|
events.on('worker', (worker) => {
|
|
44
53
|
const channel = createBroadcastChannel(worker.threadId);
|
|
45
|
-
channel.onmessage = (event) => {
|
|
46
|
-
const value = event.data;
|
|
47
|
-
const handler = handlers.get(value.event);
|
|
48
|
-
if (handler)
|
|
49
|
-
handler(value.data, client);
|
|
50
|
-
};
|
|
51
|
-
channels.set(worker.threadId, channel);
|
|
52
54
|
const client = {
|
|
53
55
|
send: (payload) => {
|
|
54
56
|
channel.postMessage(payload);
|
|
55
57
|
},
|
|
56
58
|
};
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
channel.onmessage = (event) => {
|
|
60
|
+
const value = event.data;
|
|
61
|
+
if (value && typeof value.event === 'string') {
|
|
62
|
+
emit(value.event, value.data, client);
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
channels.set(worker.threadId, channel);
|
|
66
|
+
clients.set(worker.threadId, client);
|
|
67
|
+
emit('vite:client:connect', undefined, client);
|
|
68
|
+
worker.once('exit', () => {
|
|
69
|
+
emit('vite:client:disconnect', undefined, client);
|
|
70
|
+
channel.onmessage = () => { };
|
|
71
|
+
channel.close();
|
|
72
|
+
channels.delete(worker.threadId);
|
|
73
|
+
clients.delete(worker.threadId);
|
|
62
74
|
});
|
|
63
75
|
});
|
|
64
76
|
const transport = {
|
|
@@ -68,10 +80,25 @@ export async function createViteServer(options, mode, neemataConfig, events) {
|
|
|
68
80
|
}
|
|
69
81
|
},
|
|
70
82
|
on(event, handler) {
|
|
71
|
-
handlers.
|
|
83
|
+
let listeners = handlers.get(event);
|
|
84
|
+
if (!listeners) {
|
|
85
|
+
listeners = new Set();
|
|
86
|
+
handlers.set(event, listeners);
|
|
87
|
+
}
|
|
88
|
+
listeners.add(handler);
|
|
72
89
|
},
|
|
73
|
-
off(event) {
|
|
74
|
-
|
|
90
|
+
off(event, handler) {
|
|
91
|
+
if (!handler) {
|
|
92
|
+
handlers.delete(event);
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
const listeners = handlers.get(event);
|
|
96
|
+
if (!listeners)
|
|
97
|
+
return;
|
|
98
|
+
listeners.delete(handler);
|
|
99
|
+
if (!listeners.size) {
|
|
100
|
+
handlers.delete(event);
|
|
101
|
+
}
|
|
75
102
|
},
|
|
76
103
|
};
|
|
77
104
|
return new DevEnvironment(name, config, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/vite/servers/worker.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAIlD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAQ3C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAA0B,EAC1B,IAAkC,EAClC,aAA4B,EAC5B,MAA0C,EAClB;IACxB,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IACpC,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,GAAG,CACtE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CACd,CAAA;IAED,MAAM,UAAU,GAAG,iGAAiG,CAAA;IAEpH,MAAM,MAAM,GAAG,MAAM,YAAY,CAC/B,OAAO,EACP,WAAW,CAAC,aAAa,CAAC,IAAI,EAAE;QAC9B,OAAO,EAAE,QAAQ;QACjB,WAAW,EAAE,KAAK;QAClB,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE;QAC5D,IAAI;QACJ,YAAY,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;QACnC,OAAO,EAAE;YACP,GAAG,OAAO;YACV,GAAG,CAAC,IAAI,KAAK,aAAa;gBACxB,CAAC,CAAC;oBACE;wBACE,IAAI,EAAE,gCAAgC;wBACtC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE;4BAC5B,IAAI,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gCACpC,OAAO,IAAI,GAAG,UAAU,CAAA;4BAC1B,CAAC;wBAAA,CACF;wBACD,eAAe,CAAC,GAAG,EAAE;4BACnB,iDAAiD;4BACjD,yDAAyD;4BACzD,IAAI,GAAG,CAAC,IAAI,IAAI,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gCACtD,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;4BAC/C,CAAC;wBAAA,CACF;qBACe;iBACnB;gBACH,CAAC,CAAC,EAAE,CAAC;SACR;KACmB,CAAC,EACvB;QACE,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC;YAClD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA4B,CAAA;YACpD,MAAM,OAAO,GAAG,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/vite/servers/worker.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -46,25 +46,25 @@
|
|
|
46
46
|
"iovalkey": "^0.3.3",
|
|
47
47
|
"oxc-resolver": "11.17.0",
|
|
48
48
|
"prom-client": "git@github.com:siimon/prom-client.git#d4d2dcb366384833951e0116caca707b5f62aa5e",
|
|
49
|
-
"vite": "8.0.0-beta.
|
|
50
|
-
"@nmtjs/common": "0.15.0-beta.
|
|
51
|
-
"@nmtjs/
|
|
52
|
-
"@nmtjs/contract": "0.15.0-beta.
|
|
53
|
-
"@nmtjs/
|
|
54
|
-
"@nmtjs/http-transport": "0.15.0-beta.
|
|
55
|
-
"@nmtjs/
|
|
56
|
-
"@nmtjs/protocol": "0.15.0-beta.
|
|
57
|
-
"@nmtjs/
|
|
58
|
-
"@nmtjs/
|
|
59
|
-
"@nmtjs/ws-transport": "0.15.0-beta.
|
|
49
|
+
"vite": "8.0.0-beta.15",
|
|
50
|
+
"@nmtjs/common": "0.15.0-beta.50",
|
|
51
|
+
"@nmtjs/gateway": "0.15.0-beta.50",
|
|
52
|
+
"@nmtjs/contract": "0.15.0-beta.50",
|
|
53
|
+
"@nmtjs/msgpack-format": "0.15.0-beta.50",
|
|
54
|
+
"@nmtjs/http-transport": "0.15.0-beta.50",
|
|
55
|
+
"@nmtjs/json-format": "0.15.0-beta.50",
|
|
56
|
+
"@nmtjs/protocol": "0.15.0-beta.50",
|
|
57
|
+
"@nmtjs/core": "0.15.0-beta.50",
|
|
58
|
+
"@nmtjs/type": "0.15.0-beta.50",
|
|
59
|
+
"@nmtjs/ws-transport": "0.15.0-beta.50"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
|
-
"@nmtjs/proxy": "1.0.0-beta.
|
|
62
|
+
"@nmtjs/proxy": "1.0.0-beta.4",
|
|
63
63
|
"pino": "10.3.0",
|
|
64
64
|
"zod": "^4.3.5"
|
|
65
65
|
},
|
|
66
66
|
"peerDependencies": {
|
|
67
|
-
"@nmtjs/proxy": "1.0.0-beta.
|
|
67
|
+
"@nmtjs/proxy": "1.0.0-beta.4",
|
|
68
68
|
"zod": "^4.3.5"
|
|
69
69
|
},
|
|
70
70
|
"peerDependenciesMeta": {
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
"LICENSE.md",
|
|
80
80
|
"README.md"
|
|
81
81
|
],
|
|
82
|
-
"version": "0.15.0-beta.
|
|
82
|
+
"version": "0.15.0-beta.50",
|
|
83
83
|
"scripts": {
|
|
84
84
|
"clean-build": "rm -rf ./dist"
|
|
85
85
|
}
|
package/src/entrypoints/main.ts
CHANGED
|
@@ -43,9 +43,13 @@ const applicationsConfig: Record<
|
|
|
43
43
|
const mode = _vite?.mode === 'development' ? 'development' : 'production'
|
|
44
44
|
const isDev = mode === 'development'
|
|
45
45
|
const errorPolicy = getErrorPolicy(mode)
|
|
46
|
+
const bootstrapLogger = createLogger(
|
|
47
|
+
{ pinoOptions: { level: isDev ? 'debug' : 'info' } },
|
|
48
|
+
'Main',
|
|
49
|
+
)
|
|
46
50
|
|
|
47
51
|
// Logger for main process (created lazily with config-based level)
|
|
48
|
-
let logger: ReturnType<typeof createLogger>
|
|
52
|
+
let logger: ReturnType<typeof createLogger> = bootstrapLogger
|
|
49
53
|
|
|
50
54
|
// Vite server and events (dev only)
|
|
51
55
|
let _viteServerEvents: EventEmitter<WorkerServerEventMap> | undefined
|
|
@@ -61,6 +65,22 @@ let currentServerConfig: ServerConfig | undefined
|
|
|
61
65
|
// Track termination state
|
|
62
66
|
let isTerminating = false
|
|
63
67
|
|
|
68
|
+
function resolveViteRunnerTimeoutMs(): number | undefined {
|
|
69
|
+
const raw = process.env.NMTJS_VITE_RUNNER_TIMEOUT_MS
|
|
70
|
+
if (!raw) return undefined
|
|
71
|
+
|
|
72
|
+
const parsed = Number.parseInt(raw, 10)
|
|
73
|
+
if (!Number.isFinite(parsed) || parsed <= 0) {
|
|
74
|
+
logger.warn(
|
|
75
|
+
{ value: raw },
|
|
76
|
+
'Invalid NMTJS_VITE_RUNNER_TIMEOUT_MS, falling back to default',
|
|
77
|
+
)
|
|
78
|
+
return undefined
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
return parsed
|
|
82
|
+
}
|
|
83
|
+
|
|
64
84
|
/**
|
|
65
85
|
* Create the ApplicationServer instance using currentServerConfig.
|
|
66
86
|
*/
|
|
@@ -71,7 +91,10 @@ function createServer(): ApplicationServer {
|
|
|
71
91
|
|
|
72
92
|
const workerConfig = {
|
|
73
93
|
path: fileURLToPath(new URL(`./thread${_ext}`, import.meta.url)),
|
|
74
|
-
workerData: {
|
|
94
|
+
workerData: {
|
|
95
|
+
vite: _vite?.mode,
|
|
96
|
+
viteModuleRunnerTimeoutMs: resolveViteRunnerTimeoutMs(),
|
|
97
|
+
},
|
|
75
98
|
worker: _viteServerEvents
|
|
76
99
|
? (worker: Worker) => {
|
|
77
100
|
_viteServerEvents!.emit('worker', worker)
|
|
@@ -234,15 +257,20 @@ async function handleTermination() {
|
|
|
234
257
|
logger.error(new Error('Failed to stop server', { cause: error as Error }))
|
|
235
258
|
}
|
|
236
259
|
|
|
237
|
-
|
|
260
|
+
try {
|
|
261
|
+
await _viteServer?.close()
|
|
262
|
+
} catch (error) {
|
|
263
|
+
logger.error(new Error('Failed to close Vite server', { cause: error }))
|
|
264
|
+
}
|
|
238
265
|
process.exit(0)
|
|
239
266
|
}
|
|
240
267
|
|
|
241
268
|
/**
|
|
242
269
|
* Handle unexpected errors.
|
|
243
270
|
*/
|
|
244
|
-
function handleUnexpectedError(error:
|
|
245
|
-
|
|
271
|
+
function handleUnexpectedError(error: unknown) {
|
|
272
|
+
const normalized = error instanceof Error ? error : new Error(String(error))
|
|
273
|
+
logger.error(new Error('Unexpected Error', { cause: normalized }))
|
|
246
274
|
}
|
|
247
275
|
|
|
248
276
|
/**
|
|
@@ -17,6 +17,7 @@ export type RunWorkerOptions = {
|
|
|
17
17
|
| { type: 'application'; name: string; path: string; transportsData: any }
|
|
18
18
|
| { type: 'jobs'; jobWorkerPool: string }
|
|
19
19
|
vite?: 'development' | 'production'
|
|
20
|
+
viteModuleRunnerTimeoutMs?: number
|
|
20
21
|
}
|
|
21
22
|
|
|
22
23
|
const workerData = _workerData as RunWorkerOptions
|
|
@@ -42,6 +43,7 @@ let runner: ModuleRunner | undefined
|
|
|
42
43
|
let workerModule: WorkerModule
|
|
43
44
|
let runtime: WorkerRuntime | undefined
|
|
44
45
|
let runtimeStarted = false
|
|
46
|
+
let cleanupPromise: Promise<void> | null = null
|
|
45
47
|
|
|
46
48
|
process.on('uncaughtException', (error) => {
|
|
47
49
|
reportError(error, 'runtime', { fatal: true })
|
|
@@ -51,13 +53,36 @@ process.on('unhandledRejection', (error) => {
|
|
|
51
53
|
reportError(error, 'runtime', { fatal: true })
|
|
52
54
|
})
|
|
53
55
|
|
|
54
|
-
process.
|
|
55
|
-
void
|
|
56
|
+
process.once('SIGTERM', () => {
|
|
57
|
+
void terminate(0)
|
|
58
|
+
})
|
|
59
|
+
|
|
60
|
+
process.once('SIGINT', () => {
|
|
61
|
+
void terminate(0)
|
|
62
|
+
})
|
|
63
|
+
|
|
64
|
+
process.once('beforeExit', () => {
|
|
65
|
+
if (!cleanupPromise && (runtimeStarted || runner)) {
|
|
66
|
+
void cleanup()
|
|
67
|
+
}
|
|
56
68
|
})
|
|
57
69
|
|
|
58
70
|
async function cleanup() {
|
|
59
|
-
|
|
60
|
-
|
|
71
|
+
if (cleanupPromise) return cleanupPromise
|
|
72
|
+
|
|
73
|
+
cleanupPromise = (async () => {
|
|
74
|
+
await stopRuntime()
|
|
75
|
+
await closeRunner()
|
|
76
|
+
})().finally(() => {
|
|
77
|
+
cleanupPromise = null
|
|
78
|
+
})
|
|
79
|
+
|
|
80
|
+
return cleanupPromise
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
async function terminate(code: number) {
|
|
84
|
+
await cleanup()
|
|
85
|
+
process.exit(code)
|
|
61
86
|
}
|
|
62
87
|
|
|
63
88
|
async function closeRunner() {
|
|
@@ -136,7 +161,10 @@ async function loadWorkerModule() {
|
|
|
136
161
|
'../vite/runners/worker.ts'
|
|
137
162
|
)) as typeof import('../vite/runners/worker.ts')
|
|
138
163
|
|
|
139
|
-
runner = createModuleRunner(
|
|
164
|
+
runner = createModuleRunner(
|
|
165
|
+
workerData.vite,
|
|
166
|
+
workerData.viteModuleRunnerTimeoutMs,
|
|
167
|
+
)
|
|
140
168
|
workerModule = await runner.import(workerPath)
|
|
141
169
|
} else {
|
|
142
170
|
runner = undefined
|
|
@@ -159,8 +187,7 @@ async function initializeRuntime() {
|
|
|
159
187
|
|
|
160
188
|
workerData.port.on('message', async (msg) => {
|
|
161
189
|
if (msg.type === 'stop') {
|
|
162
|
-
await
|
|
163
|
-
process.exit(0)
|
|
190
|
+
await terminate(0)
|
|
164
191
|
}
|
|
165
192
|
})
|
|
166
193
|
}
|
|
@@ -190,6 +217,5 @@ main().catch(async (error) => {
|
|
|
190
217
|
if (!(normalized as any)[kReportedError]) {
|
|
191
218
|
reportError(normalized, 'bootstrap')
|
|
192
219
|
}
|
|
193
|
-
await
|
|
194
|
-
process.exit(1)
|
|
220
|
+
await terminate(1)
|
|
195
221
|
})
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { inspect } from 'node:util'
|
|
2
|
+
|
|
1
3
|
import type { Logger } from '@nmtjs/core'
|
|
2
4
|
import type { RedisClient } from 'bullmq'
|
|
3
5
|
import { Queue, UnrecoverableError, Worker } from 'bullmq'
|
|
@@ -18,6 +20,19 @@ import { getJobQueueName } from '../jobs/manager.ts'
|
|
|
18
20
|
import { createJobsUI } from '../jobs/ui.ts'
|
|
19
21
|
import { JobRunnersPool } from './worker-pool.ts'
|
|
20
22
|
|
|
23
|
+
function enrichBullMqErrorStack(error: unknown): Error {
|
|
24
|
+
const normalized =
|
|
25
|
+
error instanceof Error
|
|
26
|
+
? error
|
|
27
|
+
: new Error(
|
|
28
|
+
typeof error === 'string' ? error : inspect(error, false, 20, false),
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
normalized.stack = inspect(normalized, false, 20, false)
|
|
32
|
+
|
|
33
|
+
return normalized
|
|
34
|
+
}
|
|
35
|
+
|
|
21
36
|
/**
|
|
22
37
|
* ApplicationServerJobs manages job worker pools and BullMQ queue workers.
|
|
23
38
|
*
|
|
@@ -188,18 +203,18 @@ export class ApplicationServerJobs {
|
|
|
188
203
|
switch (result.type) {
|
|
189
204
|
case 'success':
|
|
190
205
|
return result.result
|
|
191
|
-
case 'unrecoverable_error':
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
206
|
+
case 'unrecoverable_error': {
|
|
207
|
+
const error = enrichBullMqErrorStack(result.error)
|
|
208
|
+
const unrecoverableError = new UnrecoverableError(error.message)
|
|
209
|
+
unrecoverableError.stack = error.stack
|
|
210
|
+
throw unrecoverableError
|
|
211
|
+
}
|
|
197
212
|
case 'job_not_found':
|
|
198
213
|
case 'queue_job_not_found':
|
|
199
214
|
throw new UnrecoverableError(result.type)
|
|
200
215
|
case 'error':
|
|
201
216
|
console.error(result.error)
|
|
202
|
-
throw result.error
|
|
217
|
+
throw enrichBullMqErrorStack(result.error)
|
|
203
218
|
default:
|
|
204
219
|
throw new UnrecoverableError('Unknown job task result')
|
|
205
220
|
}
|
|
@@ -114,10 +114,7 @@ export class JobWorkerRuntime extends BaseWorkerRuntime {
|
|
|
114
114
|
if (error instanceof UnrecoverableError) {
|
|
115
115
|
this.runtimeOptions.port.postMessage({
|
|
116
116
|
type: 'task',
|
|
117
|
-
data: {
|
|
118
|
-
id,
|
|
119
|
-
task: { type: 'unrecoverable_error', error: error.message },
|
|
120
|
-
},
|
|
117
|
+
data: { id, task: { type: 'unrecoverable_error', error } },
|
|
121
118
|
} satisfies ThreadPortMessage)
|
|
122
119
|
} else {
|
|
123
120
|
this.runtimeOptions.port.postMessage({
|
|
@@ -20,6 +20,7 @@ export function createBroadcastChannel(threadId: number): BroadcastChannel {
|
|
|
20
20
|
|
|
21
21
|
export function createModuleRunner(
|
|
22
22
|
mode: 'development' | 'production' = 'development',
|
|
23
|
+
timeoutMs = 5000,
|
|
23
24
|
): ModuleRunner {
|
|
24
25
|
// TODO: bun does not support isInternalThread yet
|
|
25
26
|
if (isMainThread || wt.isInternalThread)
|
|
@@ -27,6 +28,9 @@ export function createModuleRunner(
|
|
|
27
28
|
|
|
28
29
|
const channel = createBroadcastChannel(threadId)
|
|
29
30
|
|
|
31
|
+
const transportTimeout =
|
|
32
|
+
Number.isFinite(timeoutMs) && timeoutMs > 0 ? timeoutMs : 5000
|
|
33
|
+
|
|
30
34
|
const transport: ModuleRunnerTransport = {
|
|
31
35
|
connect({ onMessage, onDisconnection }) {
|
|
32
36
|
// @ts-expect-error
|
|
@@ -38,7 +42,7 @@ export function createModuleRunner(
|
|
|
38
42
|
send(data) {
|
|
39
43
|
channel.postMessage(data)
|
|
40
44
|
},
|
|
41
|
-
timeout:
|
|
45
|
+
timeout: transportTimeout,
|
|
42
46
|
}
|
|
43
47
|
|
|
44
48
|
const runner = new ModuleRunner(
|
|
@@ -72,26 +72,48 @@ export async function createViteServer(
|
|
|
72
72
|
{
|
|
73
73
|
createEnvironment: async (name, config, context) => {
|
|
74
74
|
const channels = new Map<number, BroadcastChannel>()
|
|
75
|
-
const clients = new Map<
|
|
76
|
-
const handlers = new Map<string,
|
|
75
|
+
const clients = new Map<number, HotChannelClient>()
|
|
76
|
+
const handlers = new Map<string, Set<Function>>()
|
|
77
|
+
|
|
78
|
+
const emit = (
|
|
79
|
+
event: string,
|
|
80
|
+
data: unknown,
|
|
81
|
+
client: HotChannelClient,
|
|
82
|
+
) => {
|
|
83
|
+
const listeners = handlers.get(event)
|
|
84
|
+
if (!listeners?.size) return
|
|
85
|
+
for (const listener of listeners) {
|
|
86
|
+
;(listener as HotChannelListener)(data, client)
|
|
87
|
+
}
|
|
88
|
+
}
|
|
77
89
|
|
|
78
90
|
events.on('worker', (worker) => {
|
|
79
91
|
const channel = createBroadcastChannel(worker.threadId)
|
|
80
|
-
|
|
81
|
-
const value = event.data
|
|
82
|
-
const handler = handlers.get(value.event)
|
|
83
|
-
if (handler) handler(value.data, client)
|
|
84
|
-
}
|
|
85
|
-
channels.set(worker.threadId, channel)
|
|
86
|
-
const client = {
|
|
92
|
+
const client: HotChannelClient = {
|
|
87
93
|
send: (payload: HotPayload) => {
|
|
88
94
|
channel.postMessage(payload)
|
|
89
95
|
},
|
|
90
96
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
const
|
|
94
|
-
if (
|
|
97
|
+
|
|
98
|
+
channel.onmessage = (event) => {
|
|
99
|
+
const value = event.data
|
|
100
|
+
if (value && typeof value.event === 'string') {
|
|
101
|
+
emit(value.event, value.data, client)
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
channels.set(worker.threadId, channel)
|
|
106
|
+
clients.set(worker.threadId, client)
|
|
107
|
+
|
|
108
|
+
emit('vite:client:connect', undefined, client)
|
|
109
|
+
|
|
110
|
+
worker.once('exit', () => {
|
|
111
|
+
emit('vite:client:disconnect', undefined, client)
|
|
112
|
+
|
|
113
|
+
channel.onmessage = () => {}
|
|
114
|
+
channel.close()
|
|
115
|
+
channels.delete(worker.threadId)
|
|
116
|
+
clients.delete(worker.threadId)
|
|
95
117
|
})
|
|
96
118
|
})
|
|
97
119
|
|
|
@@ -102,10 +124,25 @@ export async function createViteServer(
|
|
|
102
124
|
}
|
|
103
125
|
},
|
|
104
126
|
on(event, handler) {
|
|
105
|
-
handlers.
|
|
127
|
+
let listeners = handlers.get(event)
|
|
128
|
+
if (!listeners) {
|
|
129
|
+
listeners = new Set()
|
|
130
|
+
handlers.set(event, listeners)
|
|
131
|
+
}
|
|
132
|
+
listeners.add(handler)
|
|
106
133
|
},
|
|
107
|
-
off(event) {
|
|
108
|
-
|
|
134
|
+
off(event, handler) {
|
|
135
|
+
if (!handler) {
|
|
136
|
+
handlers.delete(event)
|
|
137
|
+
return
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
const listeners = handlers.get(event)
|
|
141
|
+
if (!listeners) return
|
|
142
|
+
listeners.delete(handler)
|
|
143
|
+
if (!listeners.size) {
|
|
144
|
+
handlers.delete(event)
|
|
145
|
+
}
|
|
109
146
|
},
|
|
110
147
|
}
|
|
111
148
|
|