common-tg-service 1.1.3 → 1.1.5

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.
@@ -30,6 +30,7 @@ const tg_signup_module_1 = require("./components/TgSignup/tg-signup.module");
30
30
  const transaction_module_1 = require("./components/transactions/transaction.module");
31
31
  const npoint_module_1 = require("./components/n-point/npoint.module");
32
32
  const timestamp_module_1 = require("./components/timestamps/timestamp.module");
33
+ const memory_cleanup_service_1 = require("./memory-cleanup.service");
33
34
  let AppModule = class AppModule {
34
35
  configure(consumer) {
35
36
  consumer.apply(logger_middleware_1.LoggerMiddleware).forRoutes('*');
@@ -60,6 +61,7 @@ exports.AppModule = AppModule = __decorate([
60
61
  npoint_module_1.NpointModule,
61
62
  timestamp_module_1.TimestampModule,
62
63
  ],
64
+ providers: [memory_cleanup_service_1.MemoryCleanerService],
63
65
  controllers: [app_controller_1.AppController],
64
66
  exports: [
65
67
  Telegram_module_1.TelegramModule,
@@ -73,7 +75,7 @@ exports.AppModule = AppModule = __decorate([
73
75
  promote_client_module_1.PromoteClientModule,
74
76
  tg_signup_module_1.TgSignupModule,
75
77
  transaction_module_1.TransactionModule,
76
- timestamp_module_1.TimestampModule
78
+ timestamp_module_1.TimestampModule,
77
79
  ]
78
80
  })
79
81
  ], AppModule);
@@ -1 +1 @@
1
- {"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwE;AACxE,kEAA8D;AAC9D,8EAAyE;AACzE,sEAAkE;AAClE,2EAAuE;AACvE,2FAAsF;AACtF,gGAA2F;AAC3F,iGAA4F;AAC5F,4EAAwE;AACxE,2EAAuE;AACvE,qDAAiD;AACjD,uEAAmE;AACnE,mEAA+D;AAC/D,wEAAkE;AAClE,uFAAiF;AACjF,gEAA4D;AAC5D,mEAA+D;AAC/D,wFAAmF;AACnF,8FAAyF;AACzF,6EAAwE;AACxE,qFAAiF;AACjF,sEAAkE;AAClE,+EAA2E;AAyCpE,IAAM,SAAS,GAAf,MAAM,SAAS;IACpB,SAAS,CAAC,QAA4B;QACpC,QAAQ,CAAC,KAAK,CAAC,oCAAgB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;CACF,CAAA;AAJY,8BAAS;oBAAT,SAAS;IAvCrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,wBAAU;YACV,gCAAc;YACd,6CAAoB;YACpB,4BAAY;YACZ,iCAAc;YACd,0BAAW;YACX,yCAAkB;YAClB,6CAAoB;YACpB,gCAAc;YACd,2CAAmB;YACnB,0BAAW;YACX,4BAAW;YACX,sCAAgB;YAChB,uCAAiB;YACjB,wBAAU;YACV,0BAAW;YACX,iCAAc;YACd,sCAAiB;YACjB,4BAAY;YACZ,kCAAe;SAChB;QACD,WAAW,EAAE,CAAC,8BAAa,CAAC;QAC5B,OAAO,EAAE;YACP,gCAAc;YACd,6CAAoB;YACpB,4BAAY;YACZ,iCAAc;YACd,0BAAW;YACX,yCAAkB;YAClB,6CAAoB;YACpB,gCAAc;YACd,2CAAmB;YACnB,iCAAc;YACd,sCAAiB;YACjB,kCAAe;SAChB;KACF,CAAC;GACW,SAAS,CAIrB"}
1
+ {"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwE;AACxE,kEAA8D;AAC9D,8EAAyE;AACzE,sEAAkE;AAClE,2EAAuE;AACvE,2FAAsF;AACtF,gGAA2F;AAC3F,iGAA4F;AAC5F,4EAAwE;AACxE,2EAAuE;AACvE,qDAAiD;AACjD,uEAAmE;AACnE,mEAA+D;AAC/D,wEAAkE;AAClE,uFAAiF;AACjF,gEAA4D;AAC5D,mEAA+D;AAC/D,wFAAmF;AACnF,8FAAyF;AACzF,6EAAwE;AACxE,qFAAiF;AACjF,sEAAkE;AAClE,+EAA2E;AAC3E,qEAAgE;AA0CzD,IAAM,SAAS,GAAf,MAAM,SAAS;IACpB,SAAS,CAAC,QAA4B;QACpC,QAAQ,CAAC,KAAK,CAAC,oCAAgB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;CACF,CAAA;AAJY,8BAAS;oBAAT,SAAS;IAxCrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,wBAAU;YACV,gCAAc;YACd,6CAAoB;YACpB,4BAAY;YACZ,iCAAc;YACd,0BAAW;YACX,yCAAkB;YAClB,6CAAoB;YACpB,gCAAc;YACd,2CAAmB;YACnB,0BAAW;YACX,4BAAW;YACX,sCAAgB;YAChB,uCAAiB;YACjB,wBAAU;YACV,0BAAW;YACX,iCAAc;YACd,sCAAiB;YACjB,4BAAY;YACZ,kCAAe;SAChB;QACD,SAAS,EAAE,CAAC,6CAAoB,CAAC;QACjC,WAAW,EAAE,CAAC,8BAAa,CAAC;QAC5B,OAAO,EAAE;YACP,gCAAc;YACd,6CAAoB;YACpB,4BAAY;YACZ,iCAAc;YACd,0BAAW;YACX,yCAAkB;YAClB,6CAAoB;YACpB,gCAAc;YACd,2CAAmB;YACnB,iCAAc;YACd,sCAAiB;YACjB,kCAAe;SAChB;KACF,CAAC;GACW,SAAS,CAIrB"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export { AppModule } from './app.module';
2
2
  export { AppController } from './app.controller';
3
+ export { MemoryCleanerService } from './memory-cleanup.service';
3
4
  export * from './components';
4
5
  export * from './utils';
5
6
  export * from './middlewares';
package/dist/index.js CHANGED
@@ -14,11 +14,13 @@ 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
- exports.AppController = exports.AppModule = void 0;
17
+ exports.MemoryCleanerService = exports.AppController = exports.AppModule = void 0;
18
18
  var app_module_1 = require("./app.module");
19
19
  Object.defineProperty(exports, "AppModule", { enumerable: true, get: function () { return app_module_1.AppModule; } });
20
20
  var app_controller_1 = require("./app.controller");
21
21
  Object.defineProperty(exports, "AppController", { enumerable: true, get: function () { return app_controller_1.AppController; } });
22
+ var memory_cleanup_service_1 = require("./memory-cleanup.service");
23
+ Object.defineProperty(exports, "MemoryCleanerService", { enumerable: true, get: function () { return memory_cleanup_service_1.MemoryCleanerService; } });
22
24
  __exportStar(require("./components"), exports);
23
25
  __exportStar(require("./utils"), exports);
24
26
  __exportStar(require("./middlewares"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAMA,2CAAyC;AAAhC,uGAAA,SAAS,OAAA;AAClB,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AAGtB,+CAA6B;AAG7B,0CAAwB;AACxB,gDAA8B;AAG9B,wDAAsC;AACtC,8CAA4B;AAG5B,qDAAmC;AACnC,mDAAiC;AACjC,sDAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAMA,2CAAyC;AAAhC,uGAAA,SAAS,OAAA;AAClB,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AACtB,mEAAgE;AAAvD,8HAAA,oBAAoB,OAAA;AAG7B,+CAA6B;AAG7B,0CAAwB;AACxB,gDAA8B;AAG9B,wDAAsC;AACtC,8CAA4B;AAG5B,qDAAmC;AACnC,mDAAiC;AACjC,sDAAoC"}
@@ -0,0 +1,12 @@
1
+ import { OnModuleInit, OnModuleDestroy } from '@nestjs/common';
2
+ export declare class MemoryCleanerService implements OnModuleInit, OnModuleDestroy {
3
+ private readonly logger;
4
+ private intervalId;
5
+ private readonly memoryLimitMB;
6
+ private readonly cleanupIntervalMs;
7
+ onModuleInit(): void;
8
+ onModuleDestroy(): void;
9
+ private getMemoryUsageInMB;
10
+ private monitorAndCleanup;
11
+ cleanupMemory(): void;
12
+ }
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var MemoryCleanerService_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.MemoryCleanerService = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ let MemoryCleanerService = MemoryCleanerService_1 = class MemoryCleanerService {
13
+ constructor() {
14
+ this.logger = new common_1.Logger(MemoryCleanerService_1.name);
15
+ this.intervalId = null;
16
+ this.memoryLimitMB = 400;
17
+ this.cleanupIntervalMs = 5 * 60 * 1000;
18
+ }
19
+ onModuleInit() {
20
+ this.logger.log('MemoryCleanerService initialized.');
21
+ this.intervalId = setInterval(() => this.monitorAndCleanup(), this.cleanupIntervalMs);
22
+ }
23
+ onModuleDestroy() {
24
+ if (this.intervalId)
25
+ clearInterval(this.intervalId);
26
+ }
27
+ getMemoryUsageInMB() {
28
+ const mem = process.memoryUsage();
29
+ return {
30
+ rss: (mem.rss / 1024 / 1024).toFixed(2),
31
+ heapUsed: (mem.heapUsed / 1024 / 1024).toFixed(2),
32
+ heapTotal: (mem.heapTotal / 1024 / 1024).toFixed(2),
33
+ external: (mem.external / 1024 / 1024).toFixed(2),
34
+ };
35
+ }
36
+ monitorAndCleanup() {
37
+ const mem = process.memoryUsage();
38
+ const heapUsedMB = mem.heapUsed / 1024 / 1024;
39
+ this.logger.log(`🧠 Heap Used: ${heapUsedMB.toFixed(2)} MB`);
40
+ if (heapUsedMB > this.memoryLimitMB) {
41
+ this.logger.warn(`🚨 Heap exceeded ${this.memoryLimitMB} MB. Cleaning up...`);
42
+ this.cleanupMemory();
43
+ }
44
+ }
45
+ cleanupMemory() {
46
+ if (typeof global.gc === 'function') {
47
+ global.gc();
48
+ this.logger.log('✅ Manual GC triggered via global.gc()');
49
+ }
50
+ else {
51
+ this.logger.warn('⚠️ GC not available. Start Node with --expose-gc');
52
+ }
53
+ const mem = this.getMemoryUsageInMB();
54
+ this.logger.log(`🧹 Memory After Cleanup: ${JSON.stringify(mem)}`);
55
+ }
56
+ };
57
+ exports.MemoryCleanerService = MemoryCleanerService;
58
+ exports.MemoryCleanerService = MemoryCleanerService = MemoryCleanerService_1 = __decorate([
59
+ (0, common_1.Injectable)()
60
+ ], MemoryCleanerService);
61
+ //# sourceMappingURL=memory-cleanup.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-cleanup.service.js","sourceRoot":"","sources":["../src/memory-cleanup.service.ts"],"names":[],"mappings":";;;;;;;;;;AACA,2CAAmF;AAG5E,IAAM,oBAAoB,4BAA1B,MAAM,oBAAoB;IAA1B;QACY,WAAM,GAAG,IAAI,eAAM,CAAC,sBAAoB,CAAC,IAAI,CAAC,CAAC;QACxD,eAAU,GAA0B,IAAI,CAAC;QAChC,kBAAa,GAAG,GAAG,CAAC;QACpB,sBAAiB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IA4CrD,CAAC;IA1CC,YAAY;QACV,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACxF,CAAC;IAED,eAAe;QACb,IAAI,IAAI,CAAC,UAAU;YAAE,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtD,CAAC;IAEO,kBAAkB;QACxB,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAClC,OAAO;YACL,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,QAAQ,EAAE,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACjD,SAAS,EAAE,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACnD,QAAQ,EAAE,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SAClD,CAAC;IACJ,CAAC;IAEO,iBAAiB;QACvB,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC;QAE9C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAE7D,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,aAAa,qBAAqB,CAAC,CAAC;YAC9E,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED,aAAa;QACX,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;YACpC,MAAM,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC;CACF,CAAA;AAhDY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAU,GAAE;GACA,oBAAoB,CAgDhC"}