@monque/core 1.1.0 → 1.1.2
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/LICENSE +15 -0
- package/dist/CHANGELOG.md +89 -0
- package/dist/LICENSE +15 -0
- package/dist/README.md +150 -0
- package/dist/index.cjs +6 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +6 -14
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +6 -14
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +6 -6
- package/dist/index.mjs.map +1 -1
- package/package.json +9 -7
- package/src/events/index.ts +1 -0
- package/src/events/types.ts +113 -0
- package/src/index.ts +51 -0
- package/src/jobs/guards.ts +220 -0
- package/src/jobs/index.ts +29 -0
- package/src/jobs/types.ts +335 -0
- package/src/scheduler/helpers.ts +107 -0
- package/src/scheduler/index.ts +5 -0
- package/src/scheduler/monque.ts +1309 -0
- package/src/scheduler/services/change-stream-handler.ts +239 -0
- package/src/scheduler/services/index.ts +8 -0
- package/src/scheduler/services/job-manager.ts +455 -0
- package/src/scheduler/services/job-processor.ts +301 -0
- package/src/scheduler/services/job-query.ts +411 -0
- package/src/scheduler/services/job-scheduler.ts +267 -0
- package/src/scheduler/services/types.ts +48 -0
- package/src/scheduler/types.ts +123 -0
- package/src/shared/errors.ts +225 -0
- package/src/shared/index.ts +18 -0
- package/src/shared/utils/backoff.ts +77 -0
- package/src/shared/utils/cron.ts +67 -0
- package/src/shared/utils/index.ts +7 -0
- package/src/workers/index.ts +1 -0
- package/src/workers/types.ts +39 -0
package/dist/index.d.cts
CHANGED
|
@@ -2,7 +2,6 @@ import { Db, ObjectId } from "mongodb";
|
|
|
2
2
|
import { EventEmitter } from "node:events";
|
|
3
3
|
|
|
4
4
|
//#region src/jobs/types.d.ts
|
|
5
|
-
|
|
6
5
|
/**
|
|
7
6
|
* Represents the lifecycle states of a job in the queue.
|
|
8
7
|
*
|
|
@@ -21,15 +20,10 @@ import { EventEmitter } from "node:events";
|
|
|
21
20
|
* ```
|
|
22
21
|
*/
|
|
23
22
|
declare const JobStatus: {
|
|
24
|
-
/** Job is waiting to be picked up by a worker */
|
|
25
|
-
readonly
|
|
26
|
-
/** Job
|
|
27
|
-
readonly
|
|
28
|
-
/** Job completed successfully */
|
|
29
|
-
readonly COMPLETED: "completed";
|
|
30
|
-
/** Job permanently failed after exhausting all retry attempts */
|
|
31
|
-
readonly FAILED: "failed";
|
|
32
|
-
/** Job was manually cancelled */
|
|
23
|
+
/** Job is waiting to be picked up by a worker */readonly PENDING: "pending"; /** Job is currently being executed by a worker */
|
|
24
|
+
readonly PROCESSING: "processing"; /** Job completed successfully */
|
|
25
|
+
readonly COMPLETED: "completed"; /** Job permanently failed after exhausting all retry attempts */
|
|
26
|
+
readonly FAILED: "failed"; /** Job was manually cancelled */
|
|
33
27
|
readonly CANCELLED: "cancelled";
|
|
34
28
|
};
|
|
35
29
|
/**
|
|
@@ -519,8 +513,7 @@ interface MonqueEventMap {
|
|
|
519
513
|
* Emitted when a job finishes successfully.
|
|
520
514
|
*/
|
|
521
515
|
'job:complete': {
|
|
522
|
-
job: Job;
|
|
523
|
-
/** Processing duration in milliseconds */
|
|
516
|
+
job: Job; /** Processing duration in milliseconds */
|
|
524
517
|
duration: number;
|
|
525
518
|
};
|
|
526
519
|
/**
|
|
@@ -528,8 +521,7 @@ interface MonqueEventMap {
|
|
|
528
521
|
*/
|
|
529
522
|
'job:fail': {
|
|
530
523
|
job: Job;
|
|
531
|
-
error: Error;
|
|
532
|
-
/** Whether the job will be retried */
|
|
524
|
+
error: Error; /** Whether the job will be retried */
|
|
533
525
|
willRetry: boolean;
|
|
534
526
|
};
|
|
535
527
|
/**
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/jobs/types.ts","../src/jobs/guards.ts","../src/events/types.ts","../src/workers/types.ts","../src/scheduler/types.ts","../src/scheduler/monque.ts","../src/shared/errors.ts","../src/shared/utils/backoff.ts","../src/shared/utils/cron.ts"],"
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/jobs/types.ts","../src/jobs/guards.ts","../src/events/types.ts","../src/workers/types.ts","../src/scheduler/types.ts","../src/scheduler/monque.ts","../src/shared/errors.ts","../src/shared/utils/backoff.ts","../src/shared/utils/cron.ts"],"mappings":"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"}
|
package/dist/index.d.mts
CHANGED
|
@@ -2,7 +2,6 @@ import { Db, ObjectId } from "mongodb";
|
|
|
2
2
|
import { EventEmitter } from "node:events";
|
|
3
3
|
|
|
4
4
|
//#region src/jobs/types.d.ts
|
|
5
|
-
|
|
6
5
|
/**
|
|
7
6
|
* Represents the lifecycle states of a job in the queue.
|
|
8
7
|
*
|
|
@@ -21,15 +20,10 @@ import { EventEmitter } from "node:events";
|
|
|
21
20
|
* ```
|
|
22
21
|
*/
|
|
23
22
|
declare const JobStatus: {
|
|
24
|
-
/** Job is waiting to be picked up by a worker */
|
|
25
|
-
readonly
|
|
26
|
-
/** Job
|
|
27
|
-
readonly
|
|
28
|
-
/** Job completed successfully */
|
|
29
|
-
readonly COMPLETED: "completed";
|
|
30
|
-
/** Job permanently failed after exhausting all retry attempts */
|
|
31
|
-
readonly FAILED: "failed";
|
|
32
|
-
/** Job was manually cancelled */
|
|
23
|
+
/** Job is waiting to be picked up by a worker */readonly PENDING: "pending"; /** Job is currently being executed by a worker */
|
|
24
|
+
readonly PROCESSING: "processing"; /** Job completed successfully */
|
|
25
|
+
readonly COMPLETED: "completed"; /** Job permanently failed after exhausting all retry attempts */
|
|
26
|
+
readonly FAILED: "failed"; /** Job was manually cancelled */
|
|
33
27
|
readonly CANCELLED: "cancelled";
|
|
34
28
|
};
|
|
35
29
|
/**
|
|
@@ -519,8 +513,7 @@ interface MonqueEventMap {
|
|
|
519
513
|
* Emitted when a job finishes successfully.
|
|
520
514
|
*/
|
|
521
515
|
'job:complete': {
|
|
522
|
-
job: Job;
|
|
523
|
-
/** Processing duration in milliseconds */
|
|
516
|
+
job: Job; /** Processing duration in milliseconds */
|
|
524
517
|
duration: number;
|
|
525
518
|
};
|
|
526
519
|
/**
|
|
@@ -528,8 +521,7 @@ interface MonqueEventMap {
|
|
|
528
521
|
*/
|
|
529
522
|
'job:fail': {
|
|
530
523
|
job: Job;
|
|
531
|
-
error: Error;
|
|
532
|
-
/** Whether the job will be retried */
|
|
524
|
+
error: Error; /** Whether the job will be retried */
|
|
533
525
|
willRetry: boolean;
|
|
534
526
|
};
|
|
535
527
|
/**
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/jobs/types.ts","../src/jobs/guards.ts","../src/events/types.ts","../src/workers/types.ts","../src/scheduler/types.ts","../src/scheduler/monque.ts","../src/shared/errors.ts","../src/shared/utils/backoff.ts","../src/shared/utils/cron.ts"],"
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/jobs/types.ts","../src/jobs/guards.ts","../src/events/types.ts","../src/workers/types.ts","../src/scheduler/types.ts","../src/scheduler/monque.ts","../src/shared/errors.ts","../src/shared/utils/backoff.ts","../src/shared/utils/cron.ts"],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -1671,7 +1671,7 @@ var JobScheduler = class {
|
|
|
1671
1671
|
if (options.uniqueKey) job.uniqueKey = options.uniqueKey;
|
|
1672
1672
|
try {
|
|
1673
1673
|
if (options.uniqueKey) {
|
|
1674
|
-
const result
|
|
1674
|
+
const result = await this.ctx.collection.findOneAndUpdate({
|
|
1675
1675
|
name,
|
|
1676
1676
|
uniqueKey: options.uniqueKey,
|
|
1677
1677
|
status: { $in: [JobStatus.PENDING, JobStatus.PROCESSING] }
|
|
@@ -1679,8 +1679,8 @@ var JobScheduler = class {
|
|
|
1679
1679
|
upsert: true,
|
|
1680
1680
|
returnDocument: "after"
|
|
1681
1681
|
});
|
|
1682
|
-
if (!result
|
|
1683
|
-
return this.ctx.documentToPersistedJob(result
|
|
1682
|
+
if (!result) throw new ConnectionError("Failed to enqueue job: findOneAndUpdate returned no document");
|
|
1683
|
+
return this.ctx.documentToPersistedJob(result);
|
|
1684
1684
|
}
|
|
1685
1685
|
const result = await this.ctx.collection.insertOne(job);
|
|
1686
1686
|
return {
|
|
@@ -1783,7 +1783,7 @@ var JobScheduler = class {
|
|
|
1783
1783
|
if (options.uniqueKey) job.uniqueKey = options.uniqueKey;
|
|
1784
1784
|
try {
|
|
1785
1785
|
if (options.uniqueKey) {
|
|
1786
|
-
const result
|
|
1786
|
+
const result = await this.ctx.collection.findOneAndUpdate({
|
|
1787
1787
|
name,
|
|
1788
1788
|
uniqueKey: options.uniqueKey,
|
|
1789
1789
|
status: { $in: [JobStatus.PENDING, JobStatus.PROCESSING] }
|
|
@@ -1791,8 +1791,8 @@ var JobScheduler = class {
|
|
|
1791
1791
|
upsert: true,
|
|
1792
1792
|
returnDocument: "after"
|
|
1793
1793
|
});
|
|
1794
|
-
if (!result
|
|
1795
|
-
return this.ctx.documentToPersistedJob(result
|
|
1794
|
+
if (!result) throw new ConnectionError("Failed to schedule job: findOneAndUpdate returned no document");
|
|
1795
|
+
return this.ctx.documentToPersistedJob(result);
|
|
1796
1796
|
}
|
|
1797
1797
|
const result = await this.ctx.collection.insertOne(job);
|
|
1798
1798
|
return {
|