@deepnoodle/mobius 0.0.2 → 0.0.3
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/README.md +31 -0
- package/dist/api/index.d.ts +32 -61
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/schema.d.ts +3190 -1383
- package/dist/api/schema.d.ts.map +1 -1
- package/dist/client.d.ts +45 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +61 -12
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/retry.d.ts +36 -0
- package/dist/retry.d.ts.map +1 -0
- package/dist/retry.js +150 -0
- package/dist/retry.js.map +1 -0
- package/dist/worker.d.ts +21 -5
- package/dist/worker.d.ts.map +1 -1
- package/dist/worker.js +105 -20
- package/dist/worker.js.map +1 -1
- package/package.json +1 -1
package/dist/worker.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LeaseLostError } from "./client.js";
|
|
1
|
+
import { LeaseLostError, PayloadTooLargeError, RateLimitedError, } from "./client.js";
|
|
2
2
|
const silentLogger = {
|
|
3
3
|
info: () => { },
|
|
4
4
|
warn: () => { },
|
|
@@ -28,6 +28,8 @@ export class Worker {
|
|
|
28
28
|
concurrency: config.concurrency ?? 10,
|
|
29
29
|
pollWaitSeconds: config.pollWaitSeconds ?? 20,
|
|
30
30
|
heartbeatIntervalMs: config.heartbeatIntervalMs,
|
|
31
|
+
eventQueueSize: config.eventQueueSize ?? 256,
|
|
32
|
+
eventBatchSize: config.eventBatchSize ?? 20,
|
|
31
33
|
};
|
|
32
34
|
this.logger =
|
|
33
35
|
config.logger === null ? silentLogger : (config.logger ?? defaultLogger);
|
|
@@ -52,7 +54,7 @@ export class Worker {
|
|
|
52
54
|
if (running.size >= this.config.concurrency) {
|
|
53
55
|
await Promise.race(running);
|
|
54
56
|
}
|
|
55
|
-
let
|
|
57
|
+
let job;
|
|
56
58
|
try {
|
|
57
59
|
const claimReq = {
|
|
58
60
|
worker_id: this.config.workerId,
|
|
@@ -66,7 +68,7 @@ export class Worker {
|
|
|
66
68
|
claimReq.queues = this.config.queues;
|
|
67
69
|
if (this.config.actions.length > 0)
|
|
68
70
|
claimReq.actions = this.config.actions;
|
|
69
|
-
|
|
71
|
+
job = await this.client.claimJob(claimReq, combined);
|
|
70
72
|
}
|
|
71
73
|
catch (err) {
|
|
72
74
|
if (combined.aborted)
|
|
@@ -75,37 +77,56 @@ export class Worker {
|
|
|
75
77
|
await sleep(2000, combined);
|
|
76
78
|
continue;
|
|
77
79
|
}
|
|
78
|
-
if (
|
|
80
|
+
if (job == null) {
|
|
79
81
|
await sleep(0, combined);
|
|
80
82
|
continue;
|
|
81
83
|
}
|
|
82
|
-
const p = this.
|
|
84
|
+
const p = this.executeJob(job, combined).finally(() => running.delete(p));
|
|
83
85
|
running.add(p);
|
|
84
86
|
}
|
|
85
87
|
await Promise.allSettled(running);
|
|
86
88
|
this.logger.info(`[mobius] worker ${this.config.workerId} stopped`);
|
|
87
89
|
}
|
|
88
|
-
/** Gracefully stop the worker after in-flight
|
|
90
|
+
/** Gracefully stop the worker after in-flight jobs complete. */
|
|
89
91
|
stop() {
|
|
90
92
|
this.abortController.abort();
|
|
91
93
|
}
|
|
92
94
|
// ---------------------------------------------------------------------------
|
|
93
|
-
async
|
|
94
|
-
const jobId =
|
|
95
|
+
async executeJob(job, signal) {
|
|
96
|
+
const jobId = job.job_id;
|
|
95
97
|
const workerId = this.config.workerId;
|
|
96
|
-
const attempt =
|
|
97
|
-
this.logger.info(`[mobius] job ${jobId} claimed (workflow=${
|
|
98
|
-
const fn = this.actions.get(
|
|
98
|
+
const attempt = job.attempt;
|
|
99
|
+
this.logger.info(`[mobius] job ${jobId} claimed (workflow=${job.workflow_name}, step=${job.step_name}, action=${job.action}, attempt=${attempt})`);
|
|
100
|
+
const fn = this.actions.get(job.action);
|
|
99
101
|
if (!fn) {
|
|
100
|
-
const msg = `action ${JSON.stringify(
|
|
102
|
+
const msg = `action ${JSON.stringify(job.action)} not registered on this worker`;
|
|
101
103
|
this.logger.error(`[mobius] ${msg}`);
|
|
102
|
-
await this.
|
|
104
|
+
await this.failJob(jobId, workerId, attempt, "ActionNotRegistered", msg);
|
|
103
105
|
return;
|
|
104
106
|
}
|
|
105
107
|
const actionController = new AbortController();
|
|
106
108
|
const onAbort = () => actionController.abort();
|
|
107
109
|
signal.addEventListener("abort", onAbort, { once: true });
|
|
108
|
-
const
|
|
110
|
+
const eventer = new JobEventer(this.client, job, {
|
|
111
|
+
workerId,
|
|
112
|
+
queueSize: this.config.eventQueueSize,
|
|
113
|
+
batchSize: this.config.eventBatchSize,
|
|
114
|
+
logger: this.logger,
|
|
115
|
+
});
|
|
116
|
+
const eventerPromise = eventer.run();
|
|
117
|
+
const actionContext = {
|
|
118
|
+
jobId,
|
|
119
|
+
runId: job.run_id,
|
|
120
|
+
projectId: this.client.project,
|
|
121
|
+
workerId,
|
|
122
|
+
attempt,
|
|
123
|
+
queue: job.queue,
|
|
124
|
+
workflowName: job.workflow_name,
|
|
125
|
+
stepName: job.step_name,
|
|
126
|
+
action: job.action,
|
|
127
|
+
emitEvent: (type, payload) => eventer.emit(type, payload),
|
|
128
|
+
};
|
|
129
|
+
const interval = this.heartbeatInterval(job);
|
|
109
130
|
let hbLost = false;
|
|
110
131
|
const heartbeatTimer = setInterval(async () => {
|
|
111
132
|
try {
|
|
@@ -130,9 +151,11 @@ export class Worker {
|
|
|
130
151
|
}
|
|
131
152
|
}, interval);
|
|
132
153
|
try {
|
|
133
|
-
const result = await fn(
|
|
154
|
+
const result = await fn(job.parameters, actionController.signal, actionContext);
|
|
134
155
|
clearInterval(heartbeatTimer);
|
|
135
156
|
signal.removeEventListener("abort", onAbort);
|
|
157
|
+
eventer.stop();
|
|
158
|
+
await eventerPromise;
|
|
136
159
|
if (hbLost)
|
|
137
160
|
return;
|
|
138
161
|
const completeReq = {
|
|
@@ -149,24 +172,26 @@ export class Worker {
|
|
|
149
172
|
catch (err) {
|
|
150
173
|
clearInterval(heartbeatTimer);
|
|
151
174
|
signal.removeEventListener("abort", onAbort);
|
|
175
|
+
eventer.stop();
|
|
176
|
+
await eventerPromise;
|
|
152
177
|
if (err instanceof LeaseLostError || hbLost) {
|
|
153
178
|
this.logger.warn(`[mobius] job ${jobId}: lease lost — will be retried`);
|
|
154
179
|
return;
|
|
155
180
|
}
|
|
156
181
|
this.logger.error(`[mobius] job ${jobId} failed:`, err);
|
|
157
182
|
const errType = actionController.signal.aborted ? "Timeout" : "Error";
|
|
158
|
-
await this.
|
|
183
|
+
await this.failJob(jobId, workerId, attempt, errType, String(err));
|
|
159
184
|
}
|
|
160
185
|
}
|
|
161
|
-
heartbeatInterval(
|
|
186
|
+
heartbeatInterval(job) {
|
|
162
187
|
if (this.config.heartbeatIntervalMs != null)
|
|
163
188
|
return this.config.heartbeatIntervalMs;
|
|
164
|
-
if (
|
|
165
|
-
return
|
|
189
|
+
if (job.heartbeat_interval_seconds != null) {
|
|
190
|
+
return job.heartbeat_interval_seconds * 1000;
|
|
166
191
|
}
|
|
167
192
|
return 10000;
|
|
168
193
|
}
|
|
169
|
-
async
|
|
194
|
+
async failJob(jobId, workerId, attempt, errorType, msg) {
|
|
170
195
|
try {
|
|
171
196
|
await this.client.completeJob(jobId, {
|
|
172
197
|
worker_id: workerId,
|
|
@@ -201,4 +226,64 @@ function anySignal(...signals) {
|
|
|
201
226
|
}
|
|
202
227
|
return controller.signal;
|
|
203
228
|
}
|
|
229
|
+
class JobEventer {
|
|
230
|
+
constructor(client, job, options) {
|
|
231
|
+
this.client = client;
|
|
232
|
+
this.job = job;
|
|
233
|
+
this.options = options;
|
|
234
|
+
this.queue = [];
|
|
235
|
+
this.closed = false;
|
|
236
|
+
this.wake = null;
|
|
237
|
+
}
|
|
238
|
+
emit(type, payload) {
|
|
239
|
+
if (!type || this.closed)
|
|
240
|
+
return;
|
|
241
|
+
if (this.queue.length >= this.options.queueSize) {
|
|
242
|
+
this.queue.shift();
|
|
243
|
+
this.options.logger.warn("[mobius] custom event queue full; dropping oldest event");
|
|
244
|
+
}
|
|
245
|
+
this.queue.push({ type, payload });
|
|
246
|
+
this.wake?.();
|
|
247
|
+
}
|
|
248
|
+
stop() {
|
|
249
|
+
this.closed = true;
|
|
250
|
+
this.wake?.();
|
|
251
|
+
}
|
|
252
|
+
async run() {
|
|
253
|
+
while (!this.closed || this.queue.length > 0) {
|
|
254
|
+
const batch = this.queue.splice(0, this.options.batchSize);
|
|
255
|
+
if (batch.length === 0) {
|
|
256
|
+
await new Promise((resolve) => {
|
|
257
|
+
this.wake = () => {
|
|
258
|
+
this.wake = null;
|
|
259
|
+
resolve();
|
|
260
|
+
};
|
|
261
|
+
});
|
|
262
|
+
continue;
|
|
263
|
+
}
|
|
264
|
+
try {
|
|
265
|
+
await this.client.emitJobEvents(this.job.job_id, {
|
|
266
|
+
worker_id: this.options.workerId,
|
|
267
|
+
attempt: this.job.attempt,
|
|
268
|
+
events: batch,
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
catch (err) {
|
|
272
|
+
if (err instanceof LeaseLostError) {
|
|
273
|
+
this.options.logger.warn(`[mobius] job ${this.job.job_id}: lease lost during custom event emit`);
|
|
274
|
+
return;
|
|
275
|
+
}
|
|
276
|
+
if (err instanceof PayloadTooLargeError) {
|
|
277
|
+
this.options.logger.warn(`[mobius] job ${this.job.job_id}: custom event payload too large`);
|
|
278
|
+
continue;
|
|
279
|
+
}
|
|
280
|
+
if (err instanceof RateLimitedError) {
|
|
281
|
+
this.options.logger.warn(`[mobius] job ${this.job.job_id}: custom event rate limited`);
|
|
282
|
+
continue;
|
|
283
|
+
}
|
|
284
|
+
this.options.logger.error(`[mobius] job ${this.job.job_id}: custom event emit failed:`, err);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
}
|
|
204
289
|
//# sourceMappingURL=worker.js.map
|
package/dist/worker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
|