effect-mq 0.1.0 → 0.2.0
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 +167 -22
- package/dist/Job.d.ts +67 -4
- package/dist/Job.d.ts.map +1 -1
- package/dist/Job.js +76 -3
- package/dist/Job.js.map +1 -1
- package/dist/JobStore.d.ts +174 -3
- package/dist/JobStore.d.ts.map +1 -1
- package/dist/JobStore.js +89 -1
- package/dist/JobStore.js.map +1 -1
- package/dist/MemoryJobStore.d.ts +37 -6
- package/dist/MemoryJobStore.d.ts.map +1 -1
- package/dist/MemoryJobStore.js +201 -25
- package/dist/MemoryJobStore.js.map +1 -1
- package/dist/Worker.d.ts +5 -1
- package/dist/Worker.d.ts.map +1 -1
- package/dist/Worker.js +116 -10
- package/dist/Worker.js.map +1 -1
- package/dist/{drizzle → drizzle-postgres}/DrizzleJobStore.d.ts +18 -2
- package/dist/drizzle-postgres/DrizzleJobStore.d.ts.map +1 -0
- package/dist/{drizzle → drizzle-postgres}/DrizzleJobStore.js +287 -40
- package/dist/drizzle-postgres/DrizzleJobStore.js.map +1 -0
- package/dist/drizzle-postgres/index.d.ts.map +1 -0
- package/dist/drizzle-postgres/index.js.map +1 -0
- package/dist/{drizzle → drizzle-postgres}/schema.d.ts +306 -4
- package/dist/drizzle-postgres/schema.d.ts.map +1 -0
- package/dist/{drizzle → drizzle-postgres}/schema.js +36 -2
- package/dist/drizzle-postgres/schema.js.map +1 -0
- package/dist/redis/RedisJobStore.d.ts +56 -0
- package/dist/redis/RedisJobStore.d.ts.map +1 -0
- package/dist/redis/RedisJobStore.js +385 -0
- package/dist/redis/RedisJobStore.js.map +1 -0
- package/dist/redis/index.d.ts +9 -0
- package/dist/redis/index.d.ts.map +1 -0
- package/dist/redis/index.js +9 -0
- package/dist/redis/index.js.map +1 -0
- package/dist/redis/scripts.d.ts +168 -0
- package/dist/redis/scripts.d.ts.map +1 -0
- package/dist/redis/scripts.js +755 -0
- package/dist/redis/scripts.js.map +1 -0
- package/dist/testing/conformance.d.ts.map +1 -1
- package/dist/testing/conformance.js +332 -3
- package/dist/testing/conformance.js.map +1 -1
- package/package.json +8 -4
- package/src/Job.ts +189 -5
- package/src/JobStore.ts +252 -4
- package/src/MemoryJobStore.ts +273 -26
- package/src/Worker.ts +152 -10
- package/src/{drizzle → drizzle-postgres}/DrizzleJobStore.ts +412 -40
- package/src/{drizzle → drizzle-postgres}/schema.ts +52 -3
- package/src/redis/RedisJobStore.ts +597 -0
- package/src/redis/index.ts +8 -0
- package/src/redis/scripts.ts +862 -0
- package/src/testing/conformance.ts +421 -3
- package/dist/drizzle/DrizzleJobStore.d.ts.map +0 -1
- package/dist/drizzle/DrizzleJobStore.js.map +0 -1
- package/dist/drizzle/index.d.ts.map +0 -1
- package/dist/drizzle/index.js.map +0 -1
- package/dist/drizzle/schema.d.ts.map +0 -1
- package/dist/drizzle/schema.js.map +0 -1
- /package/dist/{drizzle → drizzle-postgres}/index.d.ts +0 -0
- /package/dist/{drizzle → drizzle-postgres}/index.js +0 -0
- /package/src/{drizzle → drizzle-postgres}/index.ts +0 -0
package/dist/MemoryJobStore.js
CHANGED
|
@@ -10,8 +10,9 @@
|
|
|
10
10
|
*
|
|
11
11
|
* @since 0.1.0
|
|
12
12
|
*/
|
|
13
|
-
import { Clock, Deferred, Effect, Exit, Layer, Option } from "effect";
|
|
14
|
-
import { JobId, JobNotFoundError, JobNotRetryableError, JobStore, LockLostError } from "./JobStore.js";
|
|
13
|
+
import { Clock, Deferred, Duration, Effect, Exit, Layer, Option } from "effect";
|
|
14
|
+
import { JobId, JobNotCancellableError, JobNotFoundError, JobNotPromotableError, JobNotRetryableError, JobStore, LockLostError, JobStoreError } from "./JobStore.js";
|
|
15
|
+
const TERMINAL_STATES = new Set(["completed", "failed", "cancelled"]);
|
|
15
16
|
const snapshot = (job) => ({
|
|
16
17
|
id: job.id,
|
|
17
18
|
name: job.name,
|
|
@@ -25,6 +26,8 @@ const snapshot = (job) => ({
|
|
|
25
26
|
stalledCount: job.stalledCount,
|
|
26
27
|
backoff: job.backoff,
|
|
27
28
|
keep: job.keep,
|
|
29
|
+
timeoutMs: job.timeoutMs,
|
|
30
|
+
cancelRequested: job.cancelRequested,
|
|
28
31
|
runAt: job.runAt,
|
|
29
32
|
enqueuedAt: job.enqueuedAt,
|
|
30
33
|
processedAt: job.processedAt,
|
|
@@ -39,13 +42,10 @@ const metadataMatches = (record, filter) => {
|
|
|
39
42
|
}
|
|
40
43
|
return true;
|
|
41
44
|
};
|
|
42
|
-
|
|
43
|
-
* Build a fresh in-memory `JobStore` implementation.
|
|
44
|
-
*
|
|
45
|
-
* @since 0.1.0
|
|
46
|
-
*/
|
|
47
|
-
export const make = Effect.sync(() => {
|
|
45
|
+
const makeStoreUnsafe = (options) => {
|
|
48
46
|
const jobs = new Map();
|
|
47
|
+
const schedules = new Map();
|
|
48
|
+
const paused = new Set();
|
|
49
49
|
let seq = 0;
|
|
50
50
|
let idCounter = 0;
|
|
51
51
|
let wakeVersion = 0;
|
|
@@ -79,6 +79,14 @@ export const make = Effect.sync(() => {
|
|
|
79
79
|
exit
|
|
80
80
|
});
|
|
81
81
|
};
|
|
82
|
+
const markCancelled = (job, now) => {
|
|
83
|
+
clearLock(job);
|
|
84
|
+
job.cancelRequested = false;
|
|
85
|
+
job.state = "cancelled";
|
|
86
|
+
job.finishedAt = now;
|
|
87
|
+
recordAttempt(job, "cancelled", now, undefined);
|
|
88
|
+
applyKeep(job, now);
|
|
89
|
+
};
|
|
82
90
|
// Terminal retention: keep at most `count` and drop older than `ageMs`
|
|
83
91
|
// among terminal jobs sharing this job's name + state.
|
|
84
92
|
const applyKeep = (job, now) => {
|
|
@@ -104,15 +112,43 @@ export const make = Effect.sync(() => {
|
|
|
104
112
|
jobs.delete(id);
|
|
105
113
|
}
|
|
106
114
|
};
|
|
107
|
-
|
|
115
|
+
const sweepHistory = (now, ttlMs) => {
|
|
116
|
+
for (const job of jobs.values()) {
|
|
117
|
+
if (TERMINAL_STATES.has(job.state) &&
|
|
118
|
+
job.finishedAt !== undefined &&
|
|
119
|
+
job.finishedAt <= now - ttlMs) {
|
|
120
|
+
jobs.delete(job.id);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
const service = JobStore.of({
|
|
108
125
|
enqueue: (request) => Effect.gen(function* () {
|
|
109
126
|
const now = yield* Clock.currentTimeMillis;
|
|
110
127
|
let id = request.id;
|
|
111
128
|
if (id === undefined) {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
129
|
+
const generate = options?.idGenerator;
|
|
130
|
+
if (generate === undefined) {
|
|
131
|
+
// Store-assigned ids must never collide with user-supplied ones.
|
|
132
|
+
do {
|
|
133
|
+
id = JobId(`j-${++idCounter}`);
|
|
134
|
+
} while (jobs.has(id));
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
// A user generator gets a bounded number of collision retries; a
|
|
138
|
+
// healthy generator's entropy makes even one retry pathological.
|
|
139
|
+
for (let i = 0; i < 5 && id === undefined; i++) {
|
|
140
|
+
const raw = generate(request);
|
|
141
|
+
const candidate = JobId(Effect.isEffect(raw) ? yield* raw : raw);
|
|
142
|
+
if (!jobs.has(candidate)) {
|
|
143
|
+
id = candidate;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
if (id === undefined) {
|
|
147
|
+
return yield* new JobStoreError({
|
|
148
|
+
message: "enqueue failed: could not generate a unique job id"
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
}
|
|
116
152
|
}
|
|
117
153
|
else if (jobs.has(id)) {
|
|
118
154
|
return { id, duplicate: true };
|
|
@@ -130,6 +166,8 @@ export const make = Effect.sync(() => {
|
|
|
130
166
|
stalledCount: 0,
|
|
131
167
|
backoff: request.backoff,
|
|
132
168
|
keep: request.keep,
|
|
169
|
+
timeoutMs: request.timeoutMs,
|
|
170
|
+
cancelRequested: false,
|
|
133
171
|
runAt: now + Math.max(0, request.delayMs),
|
|
134
172
|
enqueuedAt: now,
|
|
135
173
|
processedAt: undefined,
|
|
@@ -166,7 +204,7 @@ export const make = Effect.sync(() => {
|
|
|
166
204
|
}
|
|
167
205
|
}
|
|
168
206
|
}
|
|
169
|
-
if (best === undefined) {
|
|
207
|
+
if (best === undefined || paused.has(options.queue)) {
|
|
170
208
|
const empty = { _tag: "Empty", nextRunAt, wakeToken: wakeVersion };
|
|
171
209
|
return empty;
|
|
172
210
|
}
|
|
@@ -190,6 +228,7 @@ export const make = Effect.sync(() => {
|
|
|
190
228
|
job.attemptsMade += 1;
|
|
191
229
|
switch (outcome._tag) {
|
|
192
230
|
case "Complete": {
|
|
231
|
+
job.cancelRequested = false;
|
|
193
232
|
job.state = "completed";
|
|
194
233
|
job.exit = outcome.exit;
|
|
195
234
|
job.finishedAt = now;
|
|
@@ -198,6 +237,7 @@ export const make = Effect.sync(() => {
|
|
|
198
237
|
break;
|
|
199
238
|
}
|
|
200
239
|
case "Fail": {
|
|
240
|
+
job.cancelRequested = false;
|
|
201
241
|
job.state = "failed";
|
|
202
242
|
job.exit = outcome.exit;
|
|
203
243
|
job.finishedAt = now;
|
|
@@ -205,7 +245,22 @@ export const make = Effect.sync(() => {
|
|
|
205
245
|
applyKeep(job, now);
|
|
206
246
|
break;
|
|
207
247
|
}
|
|
248
|
+
case "Cancelled": {
|
|
249
|
+
job.cancelRequested = false;
|
|
250
|
+
job.state = "cancelled";
|
|
251
|
+
job.finishedAt = now;
|
|
252
|
+
recordAttempt(job, "cancelled", now, undefined);
|
|
253
|
+
applyKeep(job, now);
|
|
254
|
+
break;
|
|
255
|
+
}
|
|
208
256
|
case "Retry": {
|
|
257
|
+
if (job.cancelRequested) {
|
|
258
|
+
// A cancel raced a natural failure before the heartbeat could
|
|
259
|
+
// interrupt the run: cancellation wins over revival (mirrors
|
|
260
|
+
// release/recoverStalled).
|
|
261
|
+
markCancelled(job, now);
|
|
262
|
+
break;
|
|
263
|
+
}
|
|
209
264
|
recordAttempt(job, "retried", now, outcome.exit);
|
|
210
265
|
job.runAt = now + Math.max(0, outcome.delayMs);
|
|
211
266
|
job.state = outcome.delayMs > 0 ? "delayed" : "waiting";
|
|
@@ -216,6 +271,7 @@ export const make = Effect.sync(() => {
|
|
|
216
271
|
}
|
|
217
272
|
}),
|
|
218
273
|
release: (id, token) => Effect.gen(function* () {
|
|
274
|
+
const now = yield* Clock.currentTimeMillis;
|
|
219
275
|
const job = jobs.get(id);
|
|
220
276
|
if (job === undefined) {
|
|
221
277
|
return yield* new JobNotFoundError({ jobId: id });
|
|
@@ -223,6 +279,12 @@ export const make = Effect.sync(() => {
|
|
|
223
279
|
if (job.state !== "active" || job.lockToken !== token) {
|
|
224
280
|
return yield* new LockLostError({ jobId: id });
|
|
225
281
|
}
|
|
282
|
+
if (job.cancelRequested) {
|
|
283
|
+
// A cancel arrived while the worker was shutting down: honour it
|
|
284
|
+
// instead of reviving the job.
|
|
285
|
+
markCancelled(job, now);
|
|
286
|
+
return;
|
|
287
|
+
}
|
|
226
288
|
clearLock(job);
|
|
227
289
|
job.state = "waiting";
|
|
228
290
|
signalWake();
|
|
@@ -230,18 +292,23 @@ export const make = Effect.sync(() => {
|
|
|
230
292
|
extendLocks: (locks, durationMs) => Effect.gen(function* () {
|
|
231
293
|
const now = yield* Clock.currentTimeMillis;
|
|
232
294
|
const lost = [];
|
|
295
|
+
const cancelRequested = [];
|
|
233
296
|
for (const lock of locks) {
|
|
234
297
|
const job = jobs.get(lock.id);
|
|
235
|
-
if (job
|
|
236
|
-
job.state
|
|
237
|
-
job.lockToken
|
|
238
|
-
|
|
298
|
+
if (job === undefined ||
|
|
299
|
+
job.state !== "active" ||
|
|
300
|
+
job.lockToken !== lock.token) {
|
|
301
|
+
lost.push(lock.id);
|
|
302
|
+
}
|
|
303
|
+
else if (job.cancelRequested) {
|
|
304
|
+
cancelRequested.push(lock.id);
|
|
239
305
|
}
|
|
240
306
|
else {
|
|
241
|
-
|
|
307
|
+
job.lockExpiresAt = now + durationMs;
|
|
242
308
|
}
|
|
243
309
|
}
|
|
244
|
-
|
|
310
|
+
const result = { lost, cancelRequested };
|
|
311
|
+
return result;
|
|
245
312
|
}),
|
|
246
313
|
recoverStalled: (options) => Effect.gen(function* () {
|
|
247
314
|
const now = yield* Clock.currentTimeMillis;
|
|
@@ -252,6 +319,11 @@ export const make = Effect.sync(() => {
|
|
|
252
319
|
job.lockExpiresAt > now) {
|
|
253
320
|
continue;
|
|
254
321
|
}
|
|
322
|
+
if (job.cancelRequested) {
|
|
323
|
+
// The owning worker died before honouring the cancel: finish it.
|
|
324
|
+
markCancelled(job, now);
|
|
325
|
+
continue;
|
|
326
|
+
}
|
|
255
327
|
clearLock(job);
|
|
256
328
|
job.stalledCount += 1;
|
|
257
329
|
recordAttempt(job, "stalled", now, undefined);
|
|
@@ -333,6 +405,7 @@ export const make = Effect.sync(() => {
|
|
|
333
405
|
job.state = "waiting";
|
|
334
406
|
job.attemptsMade = 0;
|
|
335
407
|
job.stalledCount = 0;
|
|
408
|
+
job.cancelRequested = false;
|
|
336
409
|
job.exit = undefined;
|
|
337
410
|
job.failedReason = undefined;
|
|
338
411
|
job.finishedAt = undefined;
|
|
@@ -341,13 +414,84 @@ export const make = Effect.sync(() => {
|
|
|
341
414
|
job.seq = ++seq;
|
|
342
415
|
signalWake();
|
|
343
416
|
}),
|
|
417
|
+
cancel: (id) => Effect.gen(function* () {
|
|
418
|
+
const now = yield* Clock.currentTimeMillis;
|
|
419
|
+
const job = jobs.get(id);
|
|
420
|
+
if (job === undefined) {
|
|
421
|
+
return yield* new JobNotFoundError({ jobId: id });
|
|
422
|
+
}
|
|
423
|
+
switch (job.state) {
|
|
424
|
+
case "waiting":
|
|
425
|
+
case "delayed": {
|
|
426
|
+
markCancelled(job, now);
|
|
427
|
+
return;
|
|
428
|
+
}
|
|
429
|
+
case "active": {
|
|
430
|
+
job.cancelRequested = true;
|
|
431
|
+
return;
|
|
432
|
+
}
|
|
433
|
+
default: {
|
|
434
|
+
return yield* new JobNotCancellableError({ jobId: id, state: job.state });
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
}),
|
|
438
|
+
promote: (id) => Effect.gen(function* () {
|
|
439
|
+
const now = yield* Clock.currentTimeMillis;
|
|
440
|
+
const job = jobs.get(id);
|
|
441
|
+
if (job === undefined) {
|
|
442
|
+
return yield* new JobNotFoundError({ jobId: id });
|
|
443
|
+
}
|
|
444
|
+
if (job.state !== "delayed") {
|
|
445
|
+
return yield* new JobNotPromotableError({ jobId: id, state: job.state });
|
|
446
|
+
}
|
|
447
|
+
job.state = "waiting";
|
|
448
|
+
job.runAt = now;
|
|
449
|
+
signalWake();
|
|
450
|
+
}),
|
|
451
|
+
pause: (queue) => Effect.sync(() => {
|
|
452
|
+
paused.add(queue);
|
|
453
|
+
}),
|
|
454
|
+
resume: (queue) => Effect.sync(() => {
|
|
455
|
+
if (paused.delete(queue)) {
|
|
456
|
+
signalWake();
|
|
457
|
+
}
|
|
458
|
+
}),
|
|
459
|
+
pausedQueues: () => Effect.sync(() => Array.from(paused)),
|
|
460
|
+
upsertSchedule: (schedule) => Effect.sync(() => {
|
|
461
|
+
// An unchanged cadence keeps its next occurrence: deploy-time
|
|
462
|
+
// re-registration must not re-anchor `every` grids or drop a pending
|
|
463
|
+
// catch-up run. A changed cadence takes the caller's fresh nextRunAt.
|
|
464
|
+
const existing = schedules.get(schedule.key);
|
|
465
|
+
const sameCadence = existing !== undefined &&
|
|
466
|
+
existing.cron === schedule.cron &&
|
|
467
|
+
existing.tz === schedule.tz &&
|
|
468
|
+
existing.everyMs === schedule.everyMs;
|
|
469
|
+
schedules.set(schedule.key, sameCadence ? { ...schedule, nextRunAt: existing.nextRunAt } : schedule);
|
|
470
|
+
signalWake();
|
|
471
|
+
}),
|
|
472
|
+
removeSchedule: (key) => Effect.sync(() => schedules.delete(key)),
|
|
473
|
+
listSchedules: (options) => Effect.sync(() => Array.from(schedules.values()).filter((schedule) => (options?.jobName === undefined || schedule.jobName === options.jobName) &&
|
|
474
|
+
(options?.queue === undefined || schedule.queue === options.queue))),
|
|
475
|
+
dueSchedules: () => Effect.gen(function* () {
|
|
476
|
+
const now = yield* Clock.currentTimeMillis;
|
|
477
|
+
return Array.from(schedules.values())
|
|
478
|
+
.filter((schedule) => schedule.nextRunAt <= now)
|
|
479
|
+
.toSorted((a, b) => a.nextRunAt - b.nextRunAt);
|
|
480
|
+
}),
|
|
481
|
+
advanceSchedule: (key, expectedRunAt, nextRunAt) => Effect.sync(() => {
|
|
482
|
+
const schedule = schedules.get(key);
|
|
483
|
+
if (schedule !== undefined && schedule.nextRunAt === expectedRunAt) {
|
|
484
|
+
schedules.set(key, { ...schedule, nextRunAt });
|
|
485
|
+
}
|
|
486
|
+
}),
|
|
344
487
|
counts: (queue) => Effect.sync(() => {
|
|
345
488
|
const counts = {
|
|
346
489
|
waiting: 0,
|
|
347
490
|
delayed: 0,
|
|
348
491
|
active: 0,
|
|
349
492
|
completed: 0,
|
|
350
|
-
failed: 0
|
|
493
|
+
failed: 0,
|
|
494
|
+
cancelled: 0
|
|
351
495
|
};
|
|
352
496
|
for (const job of jobs.values()) {
|
|
353
497
|
if (queue !== undefined && job.queue !== queue)
|
|
@@ -364,18 +508,50 @@ export const make = Effect.sync(() => {
|
|
|
364
508
|
return true;
|
|
365
509
|
})
|
|
366
510
|
});
|
|
511
|
+
return { service, sweepHistory };
|
|
512
|
+
};
|
|
513
|
+
/**
|
|
514
|
+
* Build a fresh in-memory `JobStore` implementation (no history sweeper —
|
|
515
|
+
* use `makeWith` for `historyTtl` support).
|
|
516
|
+
*
|
|
517
|
+
* @since 0.1.0
|
|
518
|
+
*/
|
|
519
|
+
export const make = Effect.sync(() => makeStoreUnsafe().service);
|
|
520
|
+
/**
|
|
521
|
+
* Build a fresh in-memory `JobStore` with options; the history sweeper (when
|
|
522
|
+
* configured) lives in the surrounding `Scope`.
|
|
523
|
+
*
|
|
524
|
+
* @since 0.2.0
|
|
525
|
+
*/
|
|
526
|
+
export const makeWith = (options) => Effect.gen(function* () {
|
|
527
|
+
const { service, sweepHistory } = makeStoreUnsafe(options);
|
|
528
|
+
if (options?.historyTtl !== undefined) {
|
|
529
|
+
const ttlMs = Duration.toMillis(options.historyTtl);
|
|
530
|
+
const intervalMs = Duration.toMillis(options.historySweepInterval ?? "1 minute");
|
|
531
|
+
yield* Effect.gen(function* () {
|
|
532
|
+
yield* Effect.sleep(intervalMs);
|
|
533
|
+
const now = yield* Clock.currentTimeMillis;
|
|
534
|
+
sweepHistory(now, ttlMs);
|
|
535
|
+
}).pipe(Effect.forever, Effect.forkScoped);
|
|
536
|
+
}
|
|
537
|
+
return service;
|
|
367
538
|
});
|
|
368
539
|
/**
|
|
369
|
-
* A fresh in-memory `JobStore` layer.
|
|
370
|
-
* `JobStore.named(...)` slot instead of the default.
|
|
540
|
+
* A fresh in-memory `JobStore` layer.
|
|
371
541
|
*
|
|
372
542
|
* @since 0.1.0
|
|
373
543
|
*/
|
|
374
|
-
export const layer = Layer.effect(JobStore,
|
|
544
|
+
export const layer = Layer.effect(JobStore, makeWith());
|
|
545
|
+
/**
|
|
546
|
+
* An in-memory layer with options (e.g. `historyTtl`).
|
|
547
|
+
*
|
|
548
|
+
* @since 0.2.0
|
|
549
|
+
*/
|
|
550
|
+
export const layerWith = (options) => Layer.effect(JobStore, makeWith(options));
|
|
375
551
|
/**
|
|
376
552
|
* An in-memory layer for a specific store key.
|
|
377
553
|
*
|
|
378
554
|
* @since 0.1.0
|
|
379
555
|
*/
|
|
380
|
-
export const layerFor = (store) => Layer.effect(store,
|
|
556
|
+
export const layerFor = (store, options) => Layer.effect(store, makeWith(options));
|
|
381
557
|
//# sourceMappingURL=MemoryJobStore.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryJobStore.js","sourceRoot":"","sources":["../src/MemoryJobStore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MemoryJobStore.js","sourceRoot":"","sources":["../src/MemoryJobStore.ts"],"names":[],"mappings":"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"}
|
package/dist/Worker.d.ts
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* @since 0.1.0
|
|
16
16
|
*/
|
|
17
17
|
import { Context, Duration, Effect, Exit, Layer, Schema, type Scope } from "effect";
|
|
18
|
-
import { type BackoffPolicy,
|
|
18
|
+
import { type BackoffPolicy, JobId, JobStore, QueueName, type Service as StoreService } from "./JobStore.ts";
|
|
19
19
|
/**
|
|
20
20
|
* Information about the currently running attempt, passed to handlers as the
|
|
21
21
|
* second argument.
|
|
@@ -52,6 +52,8 @@ export interface JobDescriptor<Payload extends Schema.Top, Success extends Schem
|
|
|
52
52
|
readonly exitSchema: Schema.Top & {
|
|
53
53
|
readonly Type: Exit.Exit<Success["Type"], Error["Type"]>;
|
|
54
54
|
};
|
|
55
|
+
/** When present and returning false for a typed error, retries are skipped. */
|
|
56
|
+
readonly retryable: ((error: Error["Type"]) => boolean) | undefined;
|
|
55
57
|
}
|
|
56
58
|
/**
|
|
57
59
|
* @since 0.1.0
|
|
@@ -92,6 +94,8 @@ export interface WorkerOptions<StoreId = JobStore> {
|
|
|
92
94
|
readonly maxStalledCount?: number | undefined;
|
|
93
95
|
/** Fallback polling interval when idle and no wake-up arrives (default 5s). */
|
|
94
96
|
readonly pollInterval?: Duration.Input | undefined;
|
|
97
|
+
/** How often to tick due repeatable-job schedules (default 15s). */
|
|
98
|
+
readonly scheduleSweepInterval?: Duration.Input | undefined;
|
|
95
99
|
/** Identifier used in lock tokens (default: random). */
|
|
96
100
|
readonly id?: string | undefined;
|
|
97
101
|
}
|
package/dist/Worker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Worker.d.ts","sourceRoot":"","sources":["../src/Worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAgB,OAAO,EAAY,QAAQ,EAAE,MAAM,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"Worker.d.ts","sourceRoot":"","sources":["../src/Worker.ts"],"names":[],"mappings":"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"}
|