@nest-boot/schedule 4.0.0-beta.1 → 4.0.0-beta.11

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.
@@ -0,0 +1,3 @@
1
+ import { NestApplicationContextOptions } from "@nestjs/common/interfaces/nest-application-context-options.interface";
2
+ import { ScheduleServer } from "./schedule-server.interface";
3
+ export declare function createScheduleServer(module: any, options?: NestApplicationContextOptions): Promise<ScheduleServer>;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createScheduleServer = void 0;
4
+ const core_1 = require("@nestjs/core");
5
+ const schedule_service_1 = require("./schedule.service");
6
+ async function createScheduleServer(module, options) {
7
+ const app = (await core_1.NestFactory.createApplicationContext(module, options));
8
+ app.start = async () => {
9
+ await app.get(schedule_service_1.ScheduleService).start();
10
+ };
11
+ return app;
12
+ }
13
+ exports.createScheduleServer = createScheduleServer;
14
+ //# sourceMappingURL=create-schedule-server.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-schedule-server.util.js","sourceRoot":"","sources":["../src/create-schedule-server.util.ts"],"names":[],"mappings":";;;AACA,uCAA2C;AAE3C,yDAAqD;AAG9C,KAAK,UAAU,oBAAoB,CACxC,MAAW,EACX,OAAuC;IAEvC,MAAM,GAAG,GAAG,CAAC,MAAM,kBAAW,CAAC,wBAAwB,CACrD,MAAM,EACN,OAAO,CACR,CAAmB,CAAC;IAErB,GAAG,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE;QACrB,MAAM,GAAG,CAAC,GAAG,CAAC,kCAAe,CAAC,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC,CAAC;IAEF,OAAO,GAAG,CAAC;AACb,CAAC;AAdD,oDAcC"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
+ export * from "./create-schedule-server.util";
1
2
  export * from "./schedule.decorator";
2
3
  export * from "./schedule.module";
3
- export * from "./schedule.module-definition";
4
4
  export * from "./schedule.service";
package/dist/index.js CHANGED
@@ -14,8 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./create-schedule-server.util"), exports);
17
18
  __exportStar(require("./schedule.decorator"), exports);
18
19
  __exportStar(require("./schedule.module"), exports);
19
- __exportStar(require("./schedule.module-definition"), exports);
20
20
  __exportStar(require("./schedule.service"), exports);
21
21
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,oDAAkC;AAClC,+DAA6C;AAC7C,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA8C;AAC9C,uDAAqC;AACrC,oDAAkC;AAClC,qDAAmC"}
@@ -1,4 +1,4 @@
1
- import { QueueOptions } from "bullmq";
2
- export interface ScheduleModuleOptions extends QueueOptions {
1
+ import { WorkerOptions } from "bullmq";
2
+ export interface ScheduleModuleOptions extends WorkerOptions {
3
3
  name?: string;
4
4
  }
@@ -0,0 +1,4 @@
1
+ import { INestApplicationContext } from "@nestjs/common";
2
+ export interface ScheduleServer extends INestApplicationContext {
3
+ start: () => Promise<void>;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=schedule-server.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule-server.interface.js","sourceRoot":"","sources":["../src/schedule-server.interface.ts"],"names":[],"mappings":""}
@@ -3,14 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Interval = exports.Cron = exports.Schedule = void 0;
4
4
  const common_1 = require("@nestjs/common");
5
5
  const schedule_module_definition_1 = require("./schedule.module-definition");
6
- const Schedule = (options) => (target, propertyKey, descriptor) => {
7
- try {
8
- const { UseRequestContext } = require("@mikro-orm/core");
9
- UseRequestContext()(target, propertyKey, descriptor);
10
- }
11
- catch (err) { }
12
- (0, common_1.SetMetadata)(schedule_module_definition_1.SCHEDULE_METADATA_KEY, options)(target, propertyKey, descriptor);
13
- };
6
+ const Schedule = (options) => (target, propertyKey, descriptor) => (0, common_1.SetMetadata)(schedule_module_definition_1.SCHEDULE_METADATA_KEY, options)(target, propertyKey, descriptor);
14
7
  exports.Schedule = Schedule;
15
8
  const Cron = (value) => (0, exports.Schedule)({
16
9
  type: "cron",
@@ -1 +1 @@
1
- {"version":3,"file":"schedule.decorator.js","sourceRoot":"","sources":["../src/schedule.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAA6C;AAE7C,6EAAqE;AAG9D,MAAM,QAAQ,GACnB,CAAC,OAAgC,EAAmB,EAAE,CACtD,CACE,MAAc,EACd,WAA4B,EAC5B,UAAsC,EACtC,EAAE;IACF,IAAI;QAEF,MAAM,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACzD,iBAAiB,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;KACtD;IAAC,OAAO,GAAG,EAAE,GAAE;IAEhB,IAAA,oBAAW,EACT,kDAAqB,EACrB,OAAO,CACR,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AACrC,CAAC,CAAC;AAjBS,QAAA,QAAQ,YAiBjB;AAEG,MAAM,IAAI,GAAG,CAAC,KAAa,EAAmB,EAAE,CACrD,IAAA,gBAAQ,EAAC;IACP,IAAI,EAAE,MAAM;IACZ,KAAK;CACN,CAAC,CAAC;AAJQ,QAAA,IAAI,QAIZ;AAEE,MAAM,QAAQ,GAAG,CAAC,KAAsB,EAAmB,EAAE,CAClE,IAAA,gBAAQ,EAAC;IACP,IAAI,EAAE,UAAU;IAChB,KAAK;CACN,CAAC,CAAC;AAJQ,QAAA,QAAQ,YAIhB"}
1
+ {"version":3,"file":"schedule.decorator.js","sourceRoot":"","sources":["../src/schedule.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAA6C;AAE7C,6EAAqE;AAG9D,MAAM,QAAQ,GACnB,CAAC,OAAgC,EAAmB,EAAE,CACtD,CACE,MAAc,EACd,WAA4B,EAC5B,UAAsC,EACtC,EAAE,CACF,IAAA,oBAAW,EACT,kDAAqB,EACrB,OAAO,CACR,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AAV1B,QAAA,QAAQ,YAUkB;AAEhC,MAAM,IAAI,GAAG,CAAC,KAAa,EAAmB,EAAE,CACrD,IAAA,gBAAQ,EAAC;IACP,IAAI,EAAE,MAAM;IACZ,KAAK;CACN,CAAC,CAAC;AAJQ,QAAA,IAAI,QAIZ;AAEE,MAAM,QAAQ,GAAG,CAAC,KAAsB,EAAmB,EAAE,CAClE,IAAA,gBAAQ,EAAC;IACP,IAAI,EAAE,UAAU;IAChB,KAAK;CACN,CAAC,CAAC;AAJQ,QAAA,QAAQ,YAIhB"}
@@ -1,4 +1,4 @@
1
- import { Logger, OnApplicationShutdown, OnModuleInit } from "@nestjs/common";
1
+ import { OnApplicationShutdown, OnModuleInit } from "@nestjs/common";
2
2
  import { DiscoveryService, MetadataScanner, ModuleRef, Reflector } from "@nestjs/core";
3
3
  import { Job } from "bullmq";
4
4
  import { ScheduleModuleOptions } from "./schedule-module-options.interface";
@@ -9,15 +9,17 @@ export declare class ScheduleService implements OnModuleInit, OnApplicationShutd
9
9
  private readonly discoveryService;
10
10
  private readonly metadataScanner;
11
11
  private readonly logger;
12
+ private readonly injector;
12
13
  private readonly name;
13
14
  private readonly queue;
14
15
  private worker?;
15
16
  private readonly schedules;
16
- constructor(options: ScheduleModuleOptions, moduleRef: ModuleRef, reflector: Reflector, discoveryService: DiscoveryService, metadataScanner: MetadataScanner, logger: Logger);
17
+ constructor(options: ScheduleModuleOptions, moduleRef: ModuleRef, reflector: Reflector, discoveryService: DiscoveryService, metadataScanner: MetadataScanner);
17
18
  discoverySchedules(): Promise<void>;
18
19
  cleanUnregisteredSchedules(): Promise<void>;
19
20
  registerSchedules(): Promise<void>;
20
21
  processor(job: Job): Promise<void>;
22
+ start(): Promise<void>;
21
23
  onModuleInit(): Promise<void>;
22
24
  onApplicationShutdown(): Promise<void>;
23
25
  }
@@ -14,80 +14,98 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
14
14
  var __importDefault = (this && this.__importDefault) || function (mod) {
15
15
  return (mod && mod.__esModule) ? mod : { "default": mod };
16
16
  };
17
+ var ScheduleService_1;
17
18
  Object.defineProperty(exports, "__esModule", { value: true });
18
19
  exports.ScheduleService = void 0;
19
20
  const request_context_1 = require("@nest-boot/request-context");
20
21
  const common_1 = require("@nestjs/common");
21
22
  const core_1 = require("@nestjs/core");
23
+ const injector_1 = require("@nestjs/core/injector/injector");
22
24
  const bullmq_1 = require("bullmq");
23
25
  const ms_1 = __importDefault(require("ms"));
24
26
  const schedule_module_definition_1 = require("./schedule.module-definition");
25
- let ScheduleService = class ScheduleService {
26
- constructor(options, moduleRef, reflector, discoveryService, metadataScanner, logger) {
27
+ let ScheduleService = ScheduleService_1 = class ScheduleService {
28
+ constructor(options, moduleRef, reflector, discoveryService, metadataScanner) {
27
29
  var _a;
28
30
  this.options = options;
29
31
  this.moduleRef = moduleRef;
30
32
  this.reflector = reflector;
31
33
  this.discoveryService = discoveryService;
32
34
  this.metadataScanner = metadataScanner;
33
- this.logger = logger;
34
- this.schedules = [];
35
+ this.logger = new common_1.Logger(ScheduleService_1.name);
36
+ this.injector = new injector_1.Injector();
37
+ this.schedules = new Map();
35
38
  this.name = (_a = options.name) !== null && _a !== void 0 ? _a : "nest-boot-schedule";
36
39
  this.queue = new bullmq_1.Queue(this.name, options);
37
40
  }
38
41
  async discoverySchedules() {
39
- this.discoveryService.getControllers().forEach((wrapper) => {
40
- const { instance } = wrapper;
41
- this.metadataScanner.scanFromPrototype(instance, Object.getPrototypeOf(instance), (key) => {
42
- if (typeof instance.constructor.name === "string") {
43
- const scheduleMetadataOptions = this.reflector.get(schedule_module_definition_1.SCHEDULE_METADATA_KEY, instance[key]);
44
- if (typeof scheduleMetadataOptions !== "undefined") {
45
- this.schedules.push({
46
- name: `${instance.constructor.name}#${key}`,
47
- type: scheduleMetadataOptions.type,
48
- value: scheduleMetadataOptions.value,
49
- handler: () => instance[key](),
50
- });
42
+ this.discoveryService.getProviders().forEach((wrapper) => {
43
+ var _a;
44
+ if (typeof ((_a = wrapper.instance) === null || _a === void 0 ? void 0 : _a.constructor) !== "undefined") {
45
+ const { instance, host } = wrapper;
46
+ this.metadataScanner.scanFromPrototype(instance, Object.getPrototypeOf(instance), (key) => {
47
+ if (typeof host !== "undefined" &&
48
+ typeof instance.constructor.name === "string") {
49
+ const scheduleMetadataOptions = this.reflector.get(schedule_module_definition_1.SCHEDULE_METADATA_KEY, instance[key]);
50
+ if (typeof scheduleMetadataOptions !== "undefined") {
51
+ this.schedules.set(`${instance.constructor.name}#${key}`, {
52
+ ...scheduleMetadataOptions,
53
+ processor: wrapper.isDependencyTreeStatic()
54
+ ? (job) => instance[key](job)
55
+ : async (job) => {
56
+ const contextId = core_1.ContextIdFactory.create();
57
+ this.moduleRef.registerRequestByContextId(job, contextId);
58
+ const contextInstance = await this.injector.loadPerContext(instance, host, host.providers, contextId);
59
+ return contextInstance[key](job);
60
+ },
61
+ });
62
+ }
51
63
  }
52
- }
53
- });
64
+ });
65
+ }
54
66
  });
55
67
  }
56
68
  async cleanUnregisteredSchedules() {
57
69
  const repeatableJobs = await this.queue.getRepeatableJobs();
58
70
  await Promise.all(repeatableJobs
59
- .filter((repeatableJob) => typeof this.schedules.find((schedule) => schedule.name === repeatableJob.name &&
60
- schedule.value.toString() === repeatableJob.pattern) === "undefined")
71
+ .filter((repeatableJob) => {
72
+ var _a;
73
+ return ((_a = this.schedules.get(repeatableJob.name)) === null || _a === void 0 ? void 0 : _a.value.toString()) !==
74
+ repeatableJob.pattern;
75
+ })
61
76
  .map(async (repeatableJob) => {
62
77
  await this.queue.removeRepeatableByKey(repeatableJob.key);
63
- this.logger.log(`Removed {${repeatableJob.name}, ${repeatableJob.pattern}}`, this.constructor.name);
78
+ this.logger.log(`Removed {${repeatableJob.name}, ${repeatableJob.pattern}}`);
64
79
  }));
65
80
  }
66
81
  async registerSchedules() {
67
- await Promise.all(this.schedules.map(async (schedule) => {
68
- await this.queue.add(schedule.name, {}, {
69
- repeat: schedule.type === "cron"
70
- ? { pattern: schedule.value.toString() }
82
+ await Promise.all([...this.schedules.entries()].map(async ([name, { type, value }]) => {
83
+ await this.queue.add(name, {}, {
84
+ repeat: type === "cron"
85
+ ? { pattern: value.toString() }
71
86
  : {
72
- every: typeof schedule.value === "string"
73
- ? (0, ms_1.default)(schedule.value)
74
- : schedule.value,
87
+ every: typeof value === "string" ? (0, ms_1.default)(value) : value,
75
88
  },
76
89
  removeOnFail: true,
77
90
  removeOnComplete: true,
78
91
  });
79
- this.logger.log(`Registered {${schedule.name}, ${schedule.value}}`, this.constructor.name);
92
+ this.logger.log(`Registered {${name}, ${value}}`);
80
93
  }));
81
94
  }
82
95
  async processor(job) {
83
- const ctx = new request_context_1.RequestContext();
96
+ var _a;
97
+ const ctx = new request_context_1.RequestContext(this.moduleRef);
84
98
  ctx.set("job", job);
85
- await request_context_1.RequestContext.run(ctx, async () => {
86
- const schedule = this.schedules.find((schedule) => schedule.name === job.name);
87
- if (typeof schedule !== "undefined") {
88
- await schedule.handler();
89
- }
90
- });
99
+ const processor = (_a = this.schedules.get(job.name)) === null || _a === void 0 ? void 0 : _a.processor;
100
+ if (typeof processor === "function") {
101
+ await request_context_1.RequestContext.run(ctx, async () => await processor(job));
102
+ }
103
+ }
104
+ async start() {
105
+ if (this.worker instanceof bullmq_1.Worker && !this.worker.isRunning()) {
106
+ void this.worker.run();
107
+ this.logger.log(`Worker started`);
108
+ }
91
109
  }
92
110
  async onModuleInit() {
93
111
  await this.discoverySchedules();
@@ -95,24 +113,32 @@ let ScheduleService = class ScheduleService {
95
113
  await this.registerSchedules();
96
114
  this.worker = new bullmq_1.Worker(this.name, async (job) => {
97
115
  await this.processor(job);
98
- }, this.options);
116
+ }, {
117
+ autorun: false,
118
+ metrics: {
119
+ maxDataPoints: bullmq_1.MetricsTime.ONE_MONTH,
120
+ },
121
+ ...this.options,
122
+ });
99
123
  this.worker.on("failed", (job, err) => {
100
- this.logger.error(err);
124
+ this.logger.error(err, typeof job !== "undefined"
125
+ ? { queueName: job.queueName, jobName: job.name, jobId: job.id }
126
+ : {});
101
127
  });
102
128
  }
103
129
  async onApplicationShutdown() {
104
130
  var _a;
131
+ await this.queue.close();
105
132
  await ((_a = this.worker) === null || _a === void 0 ? void 0 : _a.close());
106
133
  }
107
134
  };
108
- ScheduleService = __decorate([
135
+ ScheduleService = ScheduleService_1 = __decorate([
109
136
  (0, common_1.Injectable)(),
110
137
  __param(0, (0, common_1.Inject)(schedule_module_definition_1.MODULE_OPTIONS_TOKEN)),
111
138
  __metadata("design:paramtypes", [Object, core_1.ModuleRef,
112
139
  core_1.Reflector,
113
140
  core_1.DiscoveryService,
114
- core_1.MetadataScanner,
115
- common_1.Logger])
141
+ core_1.MetadataScanner])
116
142
  ], ScheduleService);
117
143
  exports.ScheduleService = ScheduleService;
118
144
  //# sourceMappingURL=schedule.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schedule.service.js","sourceRoot":"","sources":["../src/schedule.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schedule.service.js","sourceRoot":"","sources":["../src/schedule.service.ts"],"names":[],"mappings":"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"}