@servicelabsco/nestjs-utility-services 1.2.4 → 1.2.6
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/app.module.js +2 -1
- package/dist/app.module.js.map +1 -1
- package/dist/platformUtility/consumers/event.consumer.d.ts +3 -1
- package/dist/platformUtility/consumers/event.consumer.js +8 -2
- package/dist/platformUtility/consumers/event.consumer.js.map +1 -1
- package/dist/platformUtility/services/queue.service.d.ts +1 -0
- package/dist/platformUtility/services/queue.service.js +2 -0
- package/dist/platformUtility/services/queue.service.js.map +1 -1
- package/dist/platformUtility/services/shutdown.service.d.ts +7 -1
- package/dist/platformUtility/services/shutdown.service.js +30 -5
- package/dist/platformUtility/services/shutdown.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/app.module.js
CHANGED
@@ -27,6 +27,7 @@ const queueConfig = require("./config/queue.config");
|
|
27
27
|
const readOrmconfig = require("./config/read.typeorm.config");
|
28
28
|
const ormconfig = require("./config/typeorm.config");
|
29
29
|
const health_check_controller_1 = require("./health.check.controller");
|
30
|
+
const platformUtility_1 = require("./platformUtility");
|
30
31
|
const maintenance_middleware_1 = require("./platformUtility/middlewares/maintenance.middleware");
|
31
32
|
const platform_utility_module_1 = require("./platformUtility/platform.utility.module");
|
32
33
|
const security_module_1 = require("./security/security.module");
|
@@ -59,7 +60,7 @@ exports.AppModule = AppModule = __decorate([
|
|
59
60
|
nestjs_command_1.CommandModule,
|
60
61
|
terminus_1.TerminusModule,
|
61
62
|
],
|
62
|
-
controllers: [app_controller_1.AppController, admin_auth_controller_1.AdminAuthController, menu_controller_1.MenuController, health_check_controller_1.HealthCheckController],
|
63
|
+
controllers: [app_controller_1.AppController, admin_auth_controller_1.AdminAuthController, menu_controller_1.MenuController, health_check_controller_1.HealthCheckController, platformUtility_1.ShutdownService],
|
63
64
|
providers: [app_service_1.AppService, worker_service_1.WorkerService],
|
64
65
|
})
|
65
66
|
], AppModule);
|
package/dist/app.module.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,uCAA0C;AAC1C,2CAA2E;AAC3E,2CAA8C;AAC9C,+CAAkD;AAClD,6CAAgD;AAChD,mDAA+C;AAC/C,mDAA+C;AAC/C,qDAAiD;AACjD,+CAA2C;AAC3C,oDAAgD;AAChD,oFAA+E;AAC/E,oFAA+E;AAC/E,gFAA4E;AAC5E,sEAAkE;AAClE,oFAAgF;AAChF,0DAAsD;AACtD,qDAAqD;AACrD,8DAA8D;AAC9D,qDAAqD;AACrD,uEAAkE;AAClE,iGAA6F;AAC7F,uFAAkF;AAClF,gEAA4D;AAC5D,0EAAsE;AACtE,0DAAsD;AACtD,qDAAiD;AAoB1C,IAAM,SAAS,GAAf,MAAM,SAAS;IAGlB,SAAS,CAAC,QAA4B;QAClC,QAAQ,CAAC,KAAK,CAAC,8CAAqB,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,sBAAa,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1F,QAAQ,CAAC,KAAK,CAAC,8BAAa,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,sBAAa,CAAC,GAAG,EAAE,CAAC,CAAC;QAClF,QAAQ,CAAC,KAAK,CAAC,2CAAmB,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,sBAAa,CAAC,GAAG,EAAE,CAAC,CAAC;QACxF,QAAQ,CAAC,KAAK,CAAC,4CAAoB,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,sBAAa,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7F,QAAQ,CAAC,KAAK,CAAC,wCAAkB,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,sBAAa,CAAC,GAAG,EAAE,CAAC,CAAC;IACpG,CAAC;CACJ,CAAA;AAVY,8BAAS;oBAAT,SAAS;IAlBrB,IAAA,eAAM,EAAC;QACJ,OAAO,EAAE;YACL,uBAAa,CAAC,OAAO,CAAC,SAAS,CAAC;YAChC,uBAAa,CAAC,OAAO,CAAC,aAAa,CAAC;YACpC,iBAAU,CAAC,OAAO,CAAC,WAAW,CAAC;YAC/B,qBAAY,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YACxC,+CAAqB;YACrB,wBAAU;YACV,4BAAY;YACZ,gCAAc;YACd,4BAAY;YACZ,8BAAa;YACb,8BAAa;YACb,yBAAc;SACjB;QACD,WAAW,EAAE,CAAC,8BAAa,EAAE,2CAAmB,EAAE,gCAAc,EAAE,+CAAqB,CAAC;
|
1
|
+
{"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,uCAA0C;AAC1C,2CAA2E;AAC3E,2CAA8C;AAC9C,+CAAkD;AAClD,6CAAgD;AAChD,mDAA+C;AAC/C,mDAA+C;AAC/C,qDAAiD;AACjD,+CAA2C;AAC3C,oDAAgD;AAChD,oFAA+E;AAC/E,oFAA+E;AAC/E,gFAA4E;AAC5E,sEAAkE;AAClE,oFAAgF;AAChF,0DAAsD;AACtD,qDAAqD;AACrD,8DAA8D;AAC9D,qDAAqD;AACrD,uEAAkE;AAClE,uDAAoD;AACpD,iGAA6F;AAC7F,uFAAkF;AAClF,gEAA4D;AAC5D,0EAAsE;AACtE,0DAAsD;AACtD,qDAAiD;AAoB1C,IAAM,SAAS,GAAf,MAAM,SAAS;IAGlB,SAAS,CAAC,QAA4B;QAClC,QAAQ,CAAC,KAAK,CAAC,8CAAqB,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,sBAAa,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1F,QAAQ,CAAC,KAAK,CAAC,8BAAa,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,sBAAa,CAAC,GAAG,EAAE,CAAC,CAAC;QAClF,QAAQ,CAAC,KAAK,CAAC,2CAAmB,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,sBAAa,CAAC,GAAG,EAAE,CAAC,CAAC;QACxF,QAAQ,CAAC,KAAK,CAAC,4CAAoB,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,sBAAa,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7F,QAAQ,CAAC,KAAK,CAAC,wCAAkB,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,sBAAa,CAAC,GAAG,EAAE,CAAC,CAAC;IACpG,CAAC;CACJ,CAAA;AAVY,8BAAS;oBAAT,SAAS;IAlBrB,IAAA,eAAM,EAAC;QACJ,OAAO,EAAE;YACL,uBAAa,CAAC,OAAO,CAAC,SAAS,CAAC;YAChC,uBAAa,CAAC,OAAO,CAAC,aAAa,CAAC;YACpC,iBAAU,CAAC,OAAO,CAAC,WAAW,CAAC;YAC/B,qBAAY,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YACxC,+CAAqB;YACrB,wBAAU;YACV,4BAAY;YACZ,gCAAc;YACd,4BAAY;YACZ,8BAAa;YACb,8BAAa;YACb,yBAAc;SACjB;QACD,WAAW,EAAE,CAAC,8BAAa,EAAE,2CAAmB,EAAE,gCAAc,EAAE,+CAAqB,EAAE,iCAAe,CAAC;QACzG,SAAS,EAAE,CAAC,wBAAU,EAAE,8BAAa,CAAC;KACzC,CAAC;GACW,SAAS,CAUrB"}
|
@@ -1,11 +1,13 @@
|
|
1
|
+
import { ConfigService } from '@nestjs/config';
|
1
2
|
import { Job } from 'bull';
|
2
3
|
import { MaintenanceService } from '../services/maintenance.service';
|
3
4
|
import { QueueService } from '../services/queue.service';
|
4
5
|
export declare class EventConsumer {
|
5
6
|
private readonly queueService;
|
6
7
|
private readonly maintenanceService;
|
8
|
+
private readonly configService;
|
7
9
|
private logger;
|
8
|
-
constructor(queueService: QueueService, maintenanceService: MaintenanceService);
|
10
|
+
constructor(queueService: QueueService, maintenanceService: MaintenanceService, configService: ConfigService);
|
9
11
|
activeEvent(job: Job): Promise<void>;
|
10
12
|
completionEvent(job: Job): Promise<void>;
|
11
13
|
failureEvent(job: Job): Promise<void>;
|
@@ -12,15 +12,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.EventConsumer = void 0;
|
13
13
|
const bull_1 = require("@nestjs/bull");
|
14
14
|
const common_1 = require("@nestjs/common");
|
15
|
+
const config_1 = require("@nestjs/config");
|
15
16
|
const date_util_1 = require("../../common/libraries/date.util");
|
16
17
|
const platform_constants_1 = require("../../config/platform.constants");
|
17
18
|
const maintenance_service_1 = require("../services/maintenance.service");
|
18
19
|
const queue_service_1 = require("../services/queue.service");
|
19
20
|
const queue = platform_constants_1.default.queue;
|
20
21
|
let EventConsumer = class EventConsumer {
|
21
|
-
constructor(queueService, maintenanceService) {
|
22
|
+
constructor(queueService, maintenanceService, configService) {
|
22
23
|
this.queueService = queueService;
|
23
24
|
this.maintenanceService = maintenanceService;
|
25
|
+
this.configService = configService;
|
24
26
|
this.logger = new common_1.Logger('QueueManager');
|
25
27
|
}
|
26
28
|
async activeEvent(job) {
|
@@ -71,6 +73,10 @@ let EventConsumer = class EventConsumer {
|
|
71
73
|
return this.queueService.pause();
|
72
74
|
return;
|
73
75
|
}
|
76
|
+
if (!isQueuePaused && this.queueService.runtimeQueueLock)
|
77
|
+
return this.queueService.pause();
|
78
|
+
if (isQueuePaused && this.queueService.runtimeQueueLock)
|
79
|
+
return;
|
74
80
|
if (isQueuePaused && !isInMaintenance)
|
75
81
|
return this.queueService.resume();
|
76
82
|
if (!isQueuePaused && isInMaintenance)
|
@@ -114,6 +120,6 @@ __decorate([
|
|
114
120
|
], EventConsumer.prototype, "queueResumed", null);
|
115
121
|
exports.EventConsumer = EventConsumer = __decorate([
|
116
122
|
(0, bull_1.Processor)(queue),
|
117
|
-
__metadata("design:paramtypes", [queue_service_1.QueueService, maintenance_service_1.MaintenanceService])
|
123
|
+
__metadata("design:paramtypes", [queue_service_1.QueueService, maintenance_service_1.MaintenanceService, config_1.ConfigService])
|
118
124
|
], EventConsumer);
|
119
125
|
//# sourceMappingURL=event.consumer.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"event.consumer.js","sourceRoot":"","sources":["../../../src/platformUtility/consumers/event.consumer.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAAwH;AACxH,2CAAwC;
|
1
|
+
{"version":3,"file":"event.consumer.js","sourceRoot":"","sources":["../../../src/platformUtility/consumers/event.consumer.ts"],"names":[],"mappings":"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"}
|
@@ -16,6 +16,7 @@ export declare class QueueService {
|
|
16
16
|
protected logger: Logger;
|
17
17
|
private drainPropertyName;
|
18
18
|
private shouldDrain;
|
19
|
+
runtimeQueueLock: boolean;
|
19
20
|
constructor(businessQueue: Queue, localPropertyService: LocalPropertyService, sqsService: SqsService, propertyService: PropertyService, configService: ConfigService);
|
20
21
|
add(type: string, data: any, options?: QueueOptionsDto): Promise<Job>;
|
21
22
|
addJob(type: string, data: any, options?: QueueOptionsDto, eventId?: number): Promise<Job | any>;
|
@@ -33,6 +33,8 @@ let QueueService = class QueueService {
|
|
33
33
|
this.data = {};
|
34
34
|
this.logger = new common_1.Logger('EventQueueManager');
|
35
35
|
this.drainPropertyName = 'bull.queue.should.drain';
|
36
|
+
this.shouldDrain = false;
|
37
|
+
this.runtimeQueueLock = false;
|
36
38
|
this.data = {
|
37
39
|
start_time: date_util_1.DateUtil.now(),
|
38
40
|
stats: { completed_jobs: 0, failed_jobs: 0, pending_jobs: 0 },
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"queue.service.js","sourceRoot":"","sources":["../../../src/platformUtility/services/queue.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,uCAA2C;AAC3C,2CAAoD;AACpD,2CAA+C;AAE/C,gEAA4D;AAC5D,6EAAyE;AAEzE,uFAAmF;AACnF,qEAAgE;AAChE,+CAA2C;AAE3C,yBAAuB;AACvB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;AAQvC,IAAM,YAAY,GAAlB,MAAM,YAAY;
|
1
|
+
{"version":3,"file":"queue.service.js","sourceRoot":"","sources":["../../../src/platformUtility/services/queue.service.ts"],"names":[],"mappings":"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"}
|
@@ -1,7 +1,13 @@
|
|
1
1
|
import { OnModuleDestroy } from '@nestjs/common';
|
2
|
+
import 'dotenv/config';
|
3
|
+
import { QueueService } from './queue.service';
|
2
4
|
export declare class ShutdownService implements OnModuleDestroy {
|
5
|
+
private readonly queueService;
|
6
|
+
private static alreadyPutOnDown;
|
3
7
|
private shutdownListener$;
|
4
|
-
|
8
|
+
constructor(queueService: QueueService);
|
9
|
+
onModuleDestroy(): Promise<void>;
|
5
10
|
subscribeToShutdown(shutdownFn: () => void): void;
|
6
11
|
shutdown(): void;
|
12
|
+
private checkForQueueClosing;
|
7
13
|
}
|
@@ -5,16 +5,25 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
5
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
7
7
|
};
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
10
|
+
};
|
11
|
+
var ShutdownService_1;
|
8
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
9
13
|
exports.ShutdownService = void 0;
|
10
14
|
const common_1 = require("@nestjs/common");
|
15
|
+
require("dotenv/config");
|
11
16
|
const rxjs_1 = require("rxjs");
|
12
|
-
|
13
|
-
|
17
|
+
const platform_utility_1 = require("../../common/libraries/platform.utility");
|
18
|
+
const queue_service_1 = require("./queue.service");
|
19
|
+
let ShutdownService = ShutdownService_1 = class ShutdownService {
|
20
|
+
constructor(queueService) {
|
21
|
+
this.queueService = queueService;
|
14
22
|
this.shutdownListener$ = new rxjs_1.Subject();
|
15
23
|
}
|
16
|
-
onModuleDestroy() {
|
24
|
+
async onModuleDestroy() {
|
17
25
|
global.console.log(`Executing onDestroy Hook`);
|
26
|
+
return this.checkForQueueClosing();
|
18
27
|
}
|
19
28
|
subscribeToShutdown(shutdownFn) {
|
20
29
|
this.shutdownListener$.subscribe(() => shutdownFn());
|
@@ -22,9 +31,25 @@ let ShutdownService = class ShutdownService {
|
|
22
31
|
shutdown() {
|
23
32
|
this.shutdownListener$.next();
|
24
33
|
}
|
34
|
+
async checkForQueueClosing() {
|
35
|
+
if (ShutdownService_1.alreadyPutOnDown)
|
36
|
+
return;
|
37
|
+
const enableGracefulShutdown = process.env.SERVER_COOL_DOWN_PERIOD;
|
38
|
+
const isWorker = process.env.BULL_QUEUE_WORKER || true;
|
39
|
+
if (!isWorker)
|
40
|
+
return;
|
41
|
+
if (!enableGracefulShutdown)
|
42
|
+
return;
|
43
|
+
console.log('Gracefully shutting down the queue. Putting system on down mode');
|
44
|
+
ShutdownService_1.alreadyPutOnDown = true;
|
45
|
+
this.queueService.runtimeQueueLock = true;
|
46
|
+
return platform_utility_1.PlatformUtility.sleep(parseInt(enableGracefulShutdown, 10));
|
47
|
+
}
|
25
48
|
};
|
26
49
|
exports.ShutdownService = ShutdownService;
|
27
|
-
|
28
|
-
|
50
|
+
ShutdownService.alreadyPutOnDown = false;
|
51
|
+
exports.ShutdownService = ShutdownService = ShutdownService_1 = __decorate([
|
52
|
+
(0, common_1.Injectable)(),
|
53
|
+
__metadata("design:paramtypes", [queue_service_1.QueueService])
|
29
54
|
], ShutdownService);
|
30
55
|
//# sourceMappingURL=shutdown.service.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"shutdown.service.js","sourceRoot":"","sources":["../../../src/platformUtility/services/shutdown.service.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"shutdown.service.js","sourceRoot":"","sources":["../../../src/platformUtility/services/shutdown.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAA6D;AAC7D,yBAAuB;AACvB,+BAA+B;AAC/B,8EAA0E;AAC1E,mDAA+C;AAUxC,IAAM,eAAe,uBAArB,MAAM,eAAe;IAWxB,YAA6B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;QAP/C,sBAAiB,GAAkB,IAAI,cAAO,EAAE,CAAC;IAOE,CAAC;IAM5D,KAAK,CAAC,eAAe;QACjB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC;IACvC,CAAC;IAOD,mBAAmB,CAAC,UAAsB;QACtC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;IACzD,CAAC;IAMD,QAAQ;QACJ,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;IAQO,KAAK,CAAC,oBAAoB;QAC9B,IAAI,iBAAe,CAAC,gBAAgB;YAAE,OAAO;QAE7C,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;QACnE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC;QAEvD,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,IAAI,CAAC,sBAAsB;YAAE,OAAO;QAEpC,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;QAE/E,iBAAe,CAAC,gBAAgB,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,YAAY,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAE1C,OAAO,kCAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;;AA5DQ,0CAAe;AACT,gCAAgB,GAAY,KAAK,AAAjB,CAAkB;0BADxC,eAAe;IAD3B,IAAA,mBAAU,GAAE;qCAYkC,4BAAY;GAX9C,eAAe,CA6D3B"}
|