@clipboard-health/mongo-jobs 0.2.0 → 0.3.1
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
CHANGED
|
@@ -55,16 +55,16 @@ export class WelcomeEmailJob implements HandlerInterface<WelcomeEmailData> {
|
|
|
55
55
|
|
|
56
56
|
### 2. Create a service and register handlers
|
|
57
57
|
|
|
58
|
-
Create a `
|
|
58
|
+
Create a `BackgroundJobs` instance and register your handlers to groups:
|
|
59
59
|
|
|
60
60
|
<embedex source="packages/mongo-jobs/examples/quickstart/jobsRegistry.ts">
|
|
61
61
|
|
|
62
62
|
```ts
|
|
63
|
-
import {
|
|
63
|
+
import { BackgroundJobs } from "@clipboard-health/mongo-jobs";
|
|
64
64
|
|
|
65
65
|
import { WelcomeEmailJob } from "./welcomeEmailJob";
|
|
66
66
|
|
|
67
|
-
const backgroundJobs = new
|
|
67
|
+
const backgroundJobs = new BackgroundJobs();
|
|
68
68
|
|
|
69
69
|
backgroundJobs.register(WelcomeEmailJob, "emails");
|
|
70
70
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@clipboard-health/mongo-jobs",
|
|
3
3
|
"description": "MongoDB-powered background jobs.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.3.1",
|
|
5
5
|
"bugs": "https://github.com/ClipboardHealth/core-utils/issues",
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"cron-parser": "5.4.0",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"tslib": "2.8.1"
|
|
10
10
|
},
|
|
11
11
|
"devDependencies": {
|
|
12
|
-
"@clipboard-health/util-ts": "3.18.
|
|
12
|
+
"@clipboard-health/util-ts": "3.18.1",
|
|
13
13
|
"@opentelemetry/api": "1.9.0",
|
|
14
14
|
"mongodb": "6.18.0",
|
|
15
15
|
"mongoose": "8.18.0"
|
|
@@ -13,7 +13,7 @@ export interface ConstructorOptions {
|
|
|
13
13
|
metricsReporter?: MetricsReporter;
|
|
14
14
|
allowHandlerOverride?: boolean;
|
|
15
15
|
}
|
|
16
|
-
export declare class
|
|
16
|
+
export declare class BackgroundJobs {
|
|
17
17
|
readonly jobModel: mongoose.Model<BackgroundJobType<unknown>>;
|
|
18
18
|
readonly scheduleModel: mongoose.Model<ScheduleType<unknown>>;
|
|
19
19
|
readonly jobsRepo: JobsRepository;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.BackgroundJobs = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const mongoose_1 = tslib_1.__importDefault(require("mongoose"));
|
|
6
6
|
const cron_1 = require("./internal/cron");
|
|
@@ -10,7 +10,7 @@ const registry_1 = require("./internal/registry");
|
|
|
10
10
|
const worker_1 = require("./internal/worker");
|
|
11
11
|
const job_1 = require("./job");
|
|
12
12
|
const schedule_1 = require("./schedule");
|
|
13
|
-
class
|
|
13
|
+
class BackgroundJobs {
|
|
14
14
|
jobModel;
|
|
15
15
|
scheduleModel;
|
|
16
16
|
jobsRepo;
|
|
@@ -104,5 +104,5 @@ class BackgroundJobsService {
|
|
|
104
104
|
await this.jobsRepo.deleteJobs(jobObjectIds, options);
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
|
-
exports.
|
|
107
|
+
exports.BackgroundJobs = BackgroundJobs;
|
|
108
108
|
//# sourceMappingURL=backgroundJobs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backgroundJobs.js","sourceRoot":"","sources":["../../../../../packages/mongo-jobs/src/lib/backgroundJobs.ts"],"names":[],"mappings":";;;;AAAA,gEAAgC;AAEhC,0CAAiE;AACjE,8DAImC;AAEnC,gDAA2F;AAC3F,kDAI6B;AAC7B,8CAA+D;AAC/D,+BAA6F;AAC7F,yCAAmF;AASnF,MAAa,
|
|
1
|
+
{"version":3,"file":"backgroundJobs.js","sourceRoot":"","sources":["../../../../../packages/mongo-jobs/src/lib/backgroundJobs.ts"],"names":[],"mappings":"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"}
|
package/src/lib/testing.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { BackgroundJobs } from "./backgroundJobs";
|
|
2
2
|
import type { AnyHandlerClass } from "./internal/registry";
|
|
3
3
|
interface DrainOptions {
|
|
4
4
|
jobsScheduledUntil?: Date;
|
|
5
5
|
recursive?: boolean;
|
|
6
6
|
}
|
|
7
|
-
export declare function drainQueues(backgroundJobs:
|
|
8
|
-
export declare function drainHandlers(backgroundJobs:
|
|
7
|
+
export declare function drainQueues(backgroundJobs: BackgroundJobs, groups: string[], options?: DrainOptions): Promise<void>;
|
|
8
|
+
export declare function drainHandlers(backgroundJobs: BackgroundJobs, handlers: Array<AnyHandlerClass<unknown> | string>, options?: DrainOptions): Promise<void>;
|
|
9
9
|
export {};
|
package/src/lib/testing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../../../../../packages/mongo-jobs/src/lib/testing.ts"],"names":[],"mappings":";;AAuCA,kCASC;AAGD,sCAWC;AApDD,KAAK,UAAU,WAAW,CACxB,
|
|
1
|
+
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../../../../../packages/mongo-jobs/src/lib/testing.ts"],"names":[],"mappings":";;AAuCA,kCASC;AAGD,sCAWC;AApDD,KAAK,UAAU,WAAW,CACxB,cAA8B,EAC9B,MAAc,EACd,MAAgB,EAChB,UAAwB,EAAE;IAE1B,SAAS,CAAC;QACR,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC;YACrD,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,kBAAkB,IAAI,IAAI,IAAI,EAAE,EAAE;YAC7D,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE;SACvB,CAAC,CAAC;QAEH,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,MAAM,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;IACH,CAAC;AACH,CAAC;AAED,4CAA4C;AACrC,KAAK,UAAU,WAAW,CAC/B,cAA8B,EAC9B,MAAgB,EAChB,UAAwB,EAAE;IAE1B,MAAM,MAAM,GAAG,cAAc,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9E,MAAM,cAAc,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC;IAElD,MAAM,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;AACrE,CAAC;AAED,gCAAgC;AACzB,KAAK,UAAU,aAAa,CACjC,cAA8B,EAC9B,QAAkD,EAClD,UAAwB,EAAE;IAE1B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CACzB,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,KAAK,CACzE,CAAC;IACF,MAAM,MAAM,GAAG,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;IAE1E,MAAM,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAC7D,CAAC;AACD,oCAAoC"}
|