@nest-boot/schedule 7.0.0-beta.6 → 7.0.0-beta.7
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/schedule.module-definition.d.ts +1 -1
- package/dist/schedule.module-definition.js +3 -1
- package/dist/schedule.module-definition.js.map +1 -1
- package/dist/schedule.module.d.ts +3 -3
- package/dist/schedule.module.js +23 -49
- package/dist/schedule.module.js.map +1 -1
- package/dist/schedule.module.spec.d.ts +1 -0
- package/dist/schedule.module.spec.js +39 -0
- package/dist/schedule.module.spec.js.map +1 -0
- package/dist/schedule.processor.d.ts +2 -2
- package/dist/schedule.processor.js +6 -17
- package/dist/schedule.processor.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +11 -7
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { type ScheduleModuleOptions } from "./schedule-module-options.interface";
|
|
2
2
|
export declare const SCHEDULE_QUEUE_NAME = "schedule";
|
|
3
3
|
export declare const SCHEDULE_METADATA_KEY: `${string}-${string}-${string}-${string}-${string}`;
|
|
4
|
-
export declare const ConfigurableModuleClass: import("@nestjs/common").ConfigurableModuleCls<ScheduleModuleOptions, "
|
|
4
|
+
export declare const ConfigurableModuleClass: import("@nestjs/common").ConfigurableModuleCls<ScheduleModuleOptions, "forRoot", "create", {}>, MODULE_OPTIONS_TOKEN: string | symbol, OPTIONS_TYPE: ScheduleModuleOptions & Partial<{}>, ASYNC_OPTIONS_TYPE: import("@nestjs/common").ConfigurableModuleAsyncOptions<ScheduleModuleOptions, "create"> & Partial<{}>;
|
|
@@ -6,5 +6,7 @@ const common_1 = require("@nestjs/common");
|
|
|
6
6
|
const crypto_1 = require("crypto");
|
|
7
7
|
exports.SCHEDULE_QUEUE_NAME = "schedule";
|
|
8
8
|
exports.SCHEDULE_METADATA_KEY = (0, crypto_1.randomUUID)();
|
|
9
|
-
_a = new common_1.ConfigurableModuleBuilder()
|
|
9
|
+
_a = new common_1.ConfigurableModuleBuilder()
|
|
10
|
+
.setClassMethodName("forRoot")
|
|
11
|
+
.build(), exports.ConfigurableModuleClass = _a.ConfigurableModuleClass, exports.MODULE_OPTIONS_TOKEN = _a.MODULE_OPTIONS_TOKEN, exports.OPTIONS_TYPE = _a.OPTIONS_TYPE, exports.ASYNC_OPTIONS_TYPE = _a.ASYNC_OPTIONS_TYPE;
|
|
10
12
|
//# sourceMappingURL=schedule.module-definition.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedule.module-definition.js","sourceRoot":"","sources":["../src/schedule.module-definition.ts"],"names":[],"mappings":";;;;AAAA,2CAA2D;AAC3D,mCAAoC;AAIvB,QAAA,mBAAmB,GAAG,UAAU,CAAC;AAEjC,QAAA,qBAAqB,GAAG,IAAA,mBAAU,GAAE,CAAC;AAErC,KAKT,IAAI,kCAAyB,EAAyB,CAAC,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"schedule.module-definition.js","sourceRoot":"","sources":["../src/schedule.module-definition.ts"],"names":[],"mappings":";;;;AAAA,2CAA2D;AAC3D,mCAAoC;AAIvB,QAAA,mBAAmB,GAAG,UAAU,CAAC;AAEjC,QAAA,qBAAqB,GAAG,IAAA,mBAAU,GAAE,CAAC;AAErC,KAKT,IAAI,kCAAyB,EAAyB;KACvD,kBAAkB,CAAC,SAAS,CAAC;KAC7B,KAAK,EAAE,EANR,+BAAuB,+BACvB,4BAAoB,4BACpB,oBAAY,oBACZ,0BAAkB,yBAGT"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type DynamicModule } from "@nestjs/common";
|
|
2
2
|
import { type ASYNC_OPTIONS_TYPE, ConfigurableModuleClass, type OPTIONS_TYPE } from "./schedule.module-definition";
|
|
3
3
|
export declare class ScheduleModule extends ConfigurableModuleClass {
|
|
4
|
-
static
|
|
5
|
-
static
|
|
6
|
-
|
|
4
|
+
private static patchDynamicModule;
|
|
5
|
+
static forRoot(options: typeof OPTIONS_TYPE): DynamicModule;
|
|
6
|
+
static forRootAsync(options: typeof ASYNC_OPTIONS_TYPE): DynamicModule;
|
|
7
7
|
}
|
package/dist/schedule.module.js
CHANGED
|
@@ -7,68 +7,42 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
};
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.ScheduleModule = void 0;
|
|
10
|
-
const bullmq_1 = require("@
|
|
10
|
+
const bullmq_1 = require("@nest-boot/bullmq");
|
|
11
11
|
const common_1 = require("@nestjs/common");
|
|
12
12
|
const core_1 = require("@nestjs/core");
|
|
13
13
|
const schedule_module_definition_1 = require("./schedule.module-definition");
|
|
14
14
|
const schedule_processor_1 = require("./schedule.processor");
|
|
15
15
|
const schedule_registry_1 = require("./schedule.registry");
|
|
16
16
|
let ScheduleModule = class ScheduleModule extends schedule_module_definition_1.ConfigurableModuleClass {
|
|
17
|
-
static
|
|
18
|
-
return this.withQueue(super.register(options ?? {}));
|
|
19
|
-
}
|
|
20
|
-
static registerAsync(options) {
|
|
21
|
-
return this.withQueue(super.registerAsync(options));
|
|
22
|
-
}
|
|
23
|
-
static withQueue(dynamicModule) {
|
|
24
|
-
const ScheduleQueueDynamicModule = bullmq_1.BullModule.registerQueueAsync({
|
|
25
|
-
name: "schedule",
|
|
26
|
-
imports: [dynamicModule],
|
|
27
|
-
inject: [schedule_module_definition_1.MODULE_OPTIONS_TOKEN],
|
|
28
|
-
useFactory: (options) => {
|
|
29
|
-
return {
|
|
30
|
-
connection: (() => {
|
|
31
|
-
if (process.env.REDIS_URL) {
|
|
32
|
-
const url = new URL(process.env.REDIS_URL);
|
|
33
|
-
const port = url.port;
|
|
34
|
-
const database = url.pathname.split("/")[1];
|
|
35
|
-
return {
|
|
36
|
-
host: url.hostname,
|
|
37
|
-
port: port ? +port : undefined,
|
|
38
|
-
database: database ? +database : undefined,
|
|
39
|
-
username: url.username,
|
|
40
|
-
password: url.password,
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
const host = process.env.REDIS_HOST;
|
|
44
|
-
const port = process.env.REDIS_PORT;
|
|
45
|
-
const database = process.env.REDIS_DATABASE;
|
|
46
|
-
const username = process.env.REDIS_USERNAME;
|
|
47
|
-
const password = process.env.REDIS_PASSWORD;
|
|
48
|
-
return {
|
|
49
|
-
host,
|
|
50
|
-
port: port ? +port : undefined,
|
|
51
|
-
database: database ? +database : undefined,
|
|
52
|
-
username,
|
|
53
|
-
password,
|
|
54
|
-
};
|
|
55
|
-
})(),
|
|
56
|
-
...options,
|
|
57
|
-
};
|
|
58
|
-
},
|
|
59
|
-
});
|
|
60
|
-
dynamicModule.imports = [
|
|
61
|
-
...(dynamicModule.imports ?? []),
|
|
62
|
-
ScheduleQueueDynamicModule,
|
|
63
|
-
];
|
|
17
|
+
static patchDynamicModule(dynamicModule) {
|
|
64
18
|
dynamicModule.exports = [schedule_module_definition_1.MODULE_OPTIONS_TOKEN];
|
|
65
19
|
return dynamicModule;
|
|
66
20
|
}
|
|
21
|
+
static forRoot(options) {
|
|
22
|
+
return this.patchDynamicModule(super.forRoot(options));
|
|
23
|
+
}
|
|
24
|
+
static forRootAsync(options) {
|
|
25
|
+
return this.patchDynamicModule(super.forRootAsync(options));
|
|
26
|
+
}
|
|
67
27
|
};
|
|
68
28
|
exports.ScheduleModule = ScheduleModule;
|
|
69
29
|
exports.ScheduleModule = ScheduleModule = __decorate([
|
|
30
|
+
(0, common_1.Global)(),
|
|
70
31
|
(0, common_1.Module)({
|
|
71
|
-
imports: [
|
|
32
|
+
imports: [
|
|
33
|
+
core_1.DiscoveryModule,
|
|
34
|
+
bullmq_1.BullModule.registerQueueAsync({
|
|
35
|
+
name: "schedule",
|
|
36
|
+
inject: [{ token: schedule_module_definition_1.MODULE_OPTIONS_TOKEN, optional: true }],
|
|
37
|
+
useFactory: (options) => {
|
|
38
|
+
return {
|
|
39
|
+
removeOnComplete: true,
|
|
40
|
+
removeOnFail: true,
|
|
41
|
+
...options,
|
|
42
|
+
};
|
|
43
|
+
},
|
|
44
|
+
}),
|
|
45
|
+
],
|
|
72
46
|
providers: [common_1.Logger, schedule_registry_1.ScheduleRegistry, schedule_processor_1.ScheduleProcessor],
|
|
73
47
|
exports: [],
|
|
74
48
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedule.module.js","sourceRoot":"","sources":["../src/schedule.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"schedule.module.js","sourceRoot":"","sources":["../src/schedule.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,8CAA+C;AAC/C,2CAA4E;AAC5E,uCAA+C;AAE/C,6EAKsC;AACtC,6DAAyD;AACzD,2DAAuD;AAsBhD,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,oDAAuB;IACjD,MAAM,CAAC,kBAAkB,CAC/B,aAA4B;QAE5B,aAAa,CAAC,OAAO,GAAG,CAAC,iDAAoB,CAAC,CAAC;QAC/C,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,OAA4B;QACzC,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,OAAkC;QACpD,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9D,CAAC;CACF,CAAA;AAfY,wCAAc;yBAAd,cAAc;IAnB1B,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,sBAAe;YACf,mBAAU,CAAC,kBAAkB,CAAC;gBAC5B,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,iDAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBACzD,UAAU,EAAE,CAAC,OAA8B,EAAE,EAAE;oBAC7C,OAAO;wBACL,gBAAgB,EAAE,IAAI;wBACtB,YAAY,EAAE,IAAI;wBAClB,GAAG,OAAO;qBACX,CAAC;gBACJ,CAAC;aACF,CAAC;SACH;QACD,SAAS,EAAE,CAAC,eAAM,EAAE,oCAAgB,EAAE,sCAAiB,CAAC;QACxD,OAAO,EAAE,EAAE;KACZ,CAAC;GACW,cAAc,CAe1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "dotenv/config";
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
require("dotenv/config");
|
|
4
|
+
const bullmq_1 = require("@nest-boot/bullmq");
|
|
5
|
+
const testing_1 = require("@nestjs/testing");
|
|
6
|
+
const _1 = require(".");
|
|
7
|
+
describe("BullModule", () => {
|
|
8
|
+
let app;
|
|
9
|
+
it(`ScheduleModule`, async () => {
|
|
10
|
+
const moduleRef = await testing_1.Test.createTestingModule({
|
|
11
|
+
imports: [bullmq_1.BullModule, _1.ScheduleModule],
|
|
12
|
+
}).compile();
|
|
13
|
+
app = moduleRef.createNestApplication();
|
|
14
|
+
await app.init();
|
|
15
|
+
await app.close();
|
|
16
|
+
});
|
|
17
|
+
it(`ScheduleModule.forRoot`, async () => {
|
|
18
|
+
const moduleRef = await testing_1.Test.createTestingModule({
|
|
19
|
+
imports: [bullmq_1.BullModule, _1.ScheduleModule.forRoot({})],
|
|
20
|
+
}).compile();
|
|
21
|
+
app = moduleRef.createNestApplication();
|
|
22
|
+
await app.init();
|
|
23
|
+
await app.close();
|
|
24
|
+
});
|
|
25
|
+
it(`ScheduleModule.forRootAsync`, async () => {
|
|
26
|
+
const moduleRef = await testing_1.Test.createTestingModule({
|
|
27
|
+
imports: [
|
|
28
|
+
bullmq_1.BullModule,
|
|
29
|
+
_1.ScheduleModule.forRootAsync({
|
|
30
|
+
useFactory: () => ({}),
|
|
31
|
+
}),
|
|
32
|
+
],
|
|
33
|
+
}).compile();
|
|
34
|
+
app = moduleRef.createNestApplication();
|
|
35
|
+
await app.init();
|
|
36
|
+
await app.close();
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=schedule.module.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedule.module.spec.js","sourceRoot":"","sources":["../src/schedule.module.spec.ts"],"names":[],"mappings":";;AAAA,yBAAuB;AAEvB,8CAA+C;AAE/C,6CAAuC;AAEvC,wBAAmC;AAEnC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,IAAI,GAAqB,CAAC;IAE1B,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,SAAS,GAAG,MAAM,cAAI,CAAC,mBAAmB,CAAC;YAC/C,OAAO,EAAE,CAAC,mBAAU,EAAE,iBAAc,CAAC;SACtC,CAAC,CAAC,OAAO,EAAE,CAAC;QAEb,GAAG,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;QACxC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,SAAS,GAAG,MAAM,cAAI,CAAC,mBAAmB,CAAC;YAC/C,OAAO,EAAE,CAAC,mBAAU,EAAE,iBAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SAClD,CAAC,CAAC,OAAO,EAAE,CAAC;QAEb,GAAG,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;QACxC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,SAAS,GAAG,MAAM,cAAI,CAAC,mBAAmB,CAAC;YAC/C,OAAO,EAAE;gBACP,mBAAU;gBACV,iBAAc,CAAC,YAAY,CAAC;oBAC1B,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;iBACvB,CAAC;aACH;SACF,CAAC,CAAC,OAAO,EAAE,CAAC;QAEb,GAAG,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;QACxC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -4,9 +4,9 @@ import { Job } from "bullmq";
|
|
|
4
4
|
import { ScheduleRegistry } from "./schedule.registry";
|
|
5
5
|
import { ScheduleModuleOptions } from "./schedule-module-options.interface";
|
|
6
6
|
export declare class ScheduleProcessor extends WorkerHost implements OnApplicationBootstrap {
|
|
7
|
-
private readonly options;
|
|
8
7
|
private readonly scheduleRegistry;
|
|
9
|
-
|
|
8
|
+
private readonly options?;
|
|
9
|
+
constructor(scheduleRegistry: ScheduleRegistry, options?: ScheduleModuleOptions | undefined);
|
|
10
10
|
process(job: Job): Promise<void>;
|
|
11
11
|
onApplicationBootstrap(): void;
|
|
12
12
|
}
|
|
@@ -13,41 +13,30 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.ScheduleProcessor = void 0;
|
|
16
|
-
const request_context_1 = require("@nest-boot/request-context");
|
|
17
16
|
const bullmq_1 = require("@nestjs/bullmq");
|
|
18
17
|
const common_1 = require("@nestjs/common");
|
|
19
|
-
const bullmq_2 = require("bullmq");
|
|
20
18
|
const schedule_module_definition_1 = require("./schedule.module-definition");
|
|
21
19
|
const schedule_registry_1 = require("./schedule.registry");
|
|
22
20
|
let ScheduleProcessor = class ScheduleProcessor extends bullmq_1.WorkerHost {
|
|
23
|
-
constructor(
|
|
21
|
+
constructor(scheduleRegistry, options) {
|
|
24
22
|
super();
|
|
25
|
-
this.options = options;
|
|
26
23
|
this.scheduleRegistry = scheduleRegistry;
|
|
24
|
+
this.options = options;
|
|
27
25
|
}
|
|
28
26
|
async process(job) {
|
|
29
27
|
await this.scheduleRegistry.get(job.name)?.handler();
|
|
30
28
|
}
|
|
31
29
|
onApplicationBootstrap() {
|
|
32
|
-
if (this.options
|
|
30
|
+
if (this.options?.concurrency) {
|
|
33
31
|
this.worker.concurrency = this.options.concurrency;
|
|
34
32
|
}
|
|
35
33
|
}
|
|
36
34
|
};
|
|
37
35
|
exports.ScheduleProcessor = ScheduleProcessor;
|
|
38
|
-
__decorate([
|
|
39
|
-
(0, request_context_1.CreateRequestContext)((_, job) => {
|
|
40
|
-
const ctx = new request_context_1.RequestContext({ type: "schedule", id: job.id });
|
|
41
|
-
ctx.set(bullmq_1.JOB_REF, job);
|
|
42
|
-
return ctx;
|
|
43
|
-
}),
|
|
44
|
-
__metadata("design:type", Function),
|
|
45
|
-
__metadata("design:paramtypes", [bullmq_2.Job]),
|
|
46
|
-
__metadata("design:returntype", Promise)
|
|
47
|
-
], ScheduleProcessor.prototype, "process", null);
|
|
48
36
|
exports.ScheduleProcessor = ScheduleProcessor = __decorate([
|
|
49
37
|
(0, bullmq_1.Processor)("schedule"),
|
|
50
|
-
__param(
|
|
51
|
-
|
|
38
|
+
__param(1, (0, common_1.Optional)()),
|
|
39
|
+
__param(1, (0, common_1.Inject)(schedule_module_definition_1.MODULE_OPTIONS_TOKEN)),
|
|
40
|
+
__metadata("design:paramtypes", [schedule_registry_1.ScheduleRegistry, Object])
|
|
52
41
|
], ScheduleProcessor);
|
|
53
42
|
//# sourceMappingURL=schedule.processor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedule.processor.js","sourceRoot":"","sources":["../src/schedule.processor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"schedule.processor.js","sourceRoot":"","sources":["../src/schedule.processor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAuD;AACvD,2CAA0E;AAG1E,6EAAoE;AACpE,2DAAuD;AAIhD,IAAM,iBAAiB,GAAvB,MAAM,iBACX,SAAQ,mBAAU;IAGlB,YACmB,gBAAkC,EAGlC,OAA+B;QAEhD,KAAK,EAAE,CAAC;QALS,qBAAgB,GAAhB,gBAAgB,CAAkB;QAGlC,YAAO,GAAP,OAAO,CAAwB;IAGlD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAQ;QACpB,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACvD,CAAC;IAED,sBAAsB;QACpB,IAAI,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QACrD,CAAC;IACH,CAAC;CACF,CAAA;AAtBY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,kBAAS,EAAC,UAAU,CAAC;IAOjB,WAAA,IAAA,iBAAQ,GAAE,CAAA;IACV,WAAA,IAAA,eAAM,EAAC,iDAAoB,CAAC,CAAA;qCAFM,oCAAgB;GAL1C,iBAAiB,CAsB7B"}
|