@nest-omni/core 2.0.1-10 → 2.0.1-12

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,127 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.WorkerCron = WorkerCron;
13
+ exports.WorkerInterval = WorkerInterval;
14
+ exports.WorkerTimeout = WorkerTimeout;
15
+ exports.WorkerCronWithLock = WorkerCronWithLock;
16
+ exports.WorkerIntervalWithLock = WorkerIntervalWithLock;
17
+ exports.WorkerTimeoutWithLock = WorkerTimeoutWithLock;
18
+ exports.WorkerCronAdvanced = WorkerCronAdvanced;
19
+ const schedule_1 = require("@nestjs/schedule");
20
+ const mode_setup_1 = require("./mode.setup");
21
+ const redis_lock_decorator_1 = require("./redis.lock.decorator");
22
+ const common_1 = require("@nestjs/common");
23
+ function WorkerCron(cronTime, options) {
24
+ if ((0, mode_setup_1.shouldProcessQueues)()) {
25
+ return (0, schedule_1.Cron)(cronTime, options);
26
+ }
27
+ return function (target, propertyKey, descriptor) {
28
+ return descriptor;
29
+ };
30
+ }
31
+ function WorkerInterval(timeout, options) {
32
+ if ((0, mode_setup_1.shouldProcessQueues)()) {
33
+ return (0, schedule_1.Interval)((options === null || options === void 0 ? void 0 : options.name) || `interval-${timeout}`, timeout);
34
+ }
35
+ return function (target, propertyKey, descriptor) {
36
+ return descriptor;
37
+ };
38
+ }
39
+ function WorkerTimeout(timeout, options) {
40
+ if ((0, mode_setup_1.shouldProcessQueues)()) {
41
+ return (0, schedule_1.Timeout)((options === null || options === void 0 ? void 0 : options.name) || `timeout-${timeout}`, timeout);
42
+ }
43
+ return function (target, propertyKey, descriptor) {
44
+ return descriptor;
45
+ };
46
+ }
47
+ function WorkerCronWithLock(cronTime, lockKey, lockTtl = 300000, cronOptions) {
48
+ if (!(0, mode_setup_1.shouldProcessQueues)()) {
49
+ return function (target, propertyKey, descriptor) {
50
+ return descriptor;
51
+ };
52
+ }
53
+ return function (target, propertyKey, descriptor) {
54
+ (0, schedule_1.Cron)(cronTime, cronOptions)(target, propertyKey, descriptor);
55
+ (0, redis_lock_decorator_1.UseRedisLockOrSkip)(lockKey, lockTtl)(target, propertyKey, descriptor);
56
+ return descriptor;
57
+ };
58
+ }
59
+ function WorkerIntervalWithLock(timeout, lockKey, lockTtl, intervalOptions) {
60
+ if (!(0, mode_setup_1.shouldProcessQueues)()) {
61
+ return function (target, propertyKey, descriptor) {
62
+ return descriptor;
63
+ };
64
+ }
65
+ const ttl = lockTtl !== null && lockTtl !== void 0 ? lockTtl : timeout;
66
+ return function (target, propertyKey, descriptor) {
67
+ (0, schedule_1.Interval)((intervalOptions === null || intervalOptions === void 0 ? void 0 : intervalOptions.name) || `interval-with-lock-${timeout}`, timeout)(target, propertyKey, descriptor);
68
+ (0, redis_lock_decorator_1.UseRedisLockOrSkip)(lockKey, ttl)(target, propertyKey, descriptor);
69
+ return descriptor;
70
+ };
71
+ }
72
+ function WorkerTimeoutWithLock(timeout, lockKey, lockTtl = 300000, timeoutOptions) {
73
+ if (!(0, mode_setup_1.shouldProcessQueues)()) {
74
+ return function (target, propertyKey, descriptor) {
75
+ return descriptor;
76
+ };
77
+ }
78
+ return function (target, propertyKey, descriptor) {
79
+ (0, schedule_1.Timeout)((timeoutOptions === null || timeoutOptions === void 0 ? void 0 : timeoutOptions.name) || `timeout-with-lock-${timeout}`, timeout)(target, propertyKey, descriptor);
80
+ (0, redis_lock_decorator_1.UseRedisLockOrSkip)(lockKey, lockTtl)(target, propertyKey, descriptor);
81
+ return descriptor;
82
+ };
83
+ }
84
+ function WorkerCronAdvanced(cronTime, lockKey, options = {}) {
85
+ if (!(0, mode_setup_1.shouldProcessQueues)()) {
86
+ return function (target, propertyKey, descriptor) {
87
+ return descriptor;
88
+ };
89
+ }
90
+ const { lockTtl = 300000, cronOptions, logExecution = true, onError } = options;
91
+ return function (target, propertyKey, descriptor) {
92
+ const originalMethod = descriptor.value;
93
+ const logger = new common_1.Logger(`Scheduler:${String(propertyKey)}`);
94
+ descriptor.value = function (...args) {
95
+ return __awaiter(this, void 0, void 0, function* () {
96
+ const startTime = Date.now();
97
+ try {
98
+ if (logExecution) {
99
+ logger.log(`Starting scheduled task: ${String(propertyKey)}`);
100
+ }
101
+ const result = yield originalMethod.apply(this, args);
102
+ if (logExecution) {
103
+ const duration = Date.now() - startTime;
104
+ logger.log(`Completed scheduled task: ${String(propertyKey)} (${duration}ms)`);
105
+ }
106
+ return result;
107
+ }
108
+ catch (error) {
109
+ const duration = Date.now() - startTime;
110
+ logger.error(`Error in scheduled task: ${String(propertyKey)} (${duration}ms)`, error.stack);
111
+ if (onError) {
112
+ try {
113
+ onError(error);
114
+ }
115
+ catch (handlerError) {
116
+ logger.error('Error handler threw an error:', handlerError);
117
+ }
118
+ }
119
+ throw error;
120
+ }
121
+ });
122
+ };
123
+ (0, schedule_1.Cron)(cronTime, cronOptions)(target, propertyKey, descriptor);
124
+ (0, redis_lock_decorator_1.UseRedisLockOrSkip)(lockKey, lockTtl)(target, propertyKey, descriptor);
125
+ return descriptor;
126
+ };
127
+ }
@@ -0,0 +1,14 @@
1
+ export declare function WorkerProcessor(queueName?: string): ClassDecorator;
2
+ export declare function WorkerProcess(name?: string): MethodDecorator;
3
+ export declare function WorkerOnQueueActive(): MethodDecorator;
4
+ export declare function WorkerOnQueueCompleted(): MethodDecorator;
5
+ export declare function WorkerOnQueueProgress(): MethodDecorator;
6
+ export declare function WorkerOnQueueFailed(): MethodDecorator;
7
+ export declare function WorkerOnQueueError(): MethodDecorator;
8
+ export declare function WorkerOnQueueWaiting(): MethodDecorator;
9
+ export declare function WorkerOnQueueStalled(): MethodDecorator;
10
+ export declare function WorkerOnQueueRemoved(): MethodDecorator;
11
+ export declare function WorkerOnQueueCleaned(): MethodDecorator;
12
+ export declare function WorkerOnQueueDrained(): MethodDecorator;
13
+ export declare function WorkerOnQueuePaused(): MethodDecorator;
14
+ export declare function WorkerOnQueueResumed(): MethodDecorator;
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WorkerProcessor = WorkerProcessor;
4
+ exports.WorkerProcess = WorkerProcess;
5
+ exports.WorkerOnQueueActive = WorkerOnQueueActive;
6
+ exports.WorkerOnQueueCompleted = WorkerOnQueueCompleted;
7
+ exports.WorkerOnQueueProgress = WorkerOnQueueProgress;
8
+ exports.WorkerOnQueueFailed = WorkerOnQueueFailed;
9
+ exports.WorkerOnQueueError = WorkerOnQueueError;
10
+ exports.WorkerOnQueueWaiting = WorkerOnQueueWaiting;
11
+ exports.WorkerOnQueueStalled = WorkerOnQueueStalled;
12
+ exports.WorkerOnQueueRemoved = WorkerOnQueueRemoved;
13
+ exports.WorkerOnQueueCleaned = WorkerOnQueueCleaned;
14
+ exports.WorkerOnQueueDrained = WorkerOnQueueDrained;
15
+ exports.WorkerOnQueuePaused = WorkerOnQueuePaused;
16
+ exports.WorkerOnQueueResumed = WorkerOnQueueResumed;
17
+ const bull_1 = require("@nestjs/bull");
18
+ const mode_setup_1 = require("./mode.setup");
19
+ function WorkerProcessor(queueName) {
20
+ if ((0, mode_setup_1.shouldProcessQueues)()) {
21
+ return (0, bull_1.Processor)(queueName);
22
+ }
23
+ return function (constructor) {
24
+ return constructor;
25
+ };
26
+ }
27
+ function WorkerProcess(name) {
28
+ if ((0, mode_setup_1.shouldProcessQueues)()) {
29
+ return (0, bull_1.Process)(name);
30
+ }
31
+ return function (target, propertyKey, descriptor) {
32
+ return descriptor;
33
+ };
34
+ }
35
+ function WorkerOnQueueActive() {
36
+ if ((0, mode_setup_1.shouldProcessQueues)()) {
37
+ return (0, bull_1.OnQueueActive)();
38
+ }
39
+ return function (target, propertyKey, descriptor) {
40
+ return descriptor;
41
+ };
42
+ }
43
+ function WorkerOnQueueCompleted() {
44
+ if ((0, mode_setup_1.shouldProcessQueues)()) {
45
+ return (0, bull_1.OnQueueCompleted)();
46
+ }
47
+ return function (target, propertyKey, descriptor) {
48
+ return descriptor;
49
+ };
50
+ }
51
+ function WorkerOnQueueProgress() {
52
+ if ((0, mode_setup_1.shouldProcessQueues)()) {
53
+ return (0, bull_1.OnQueueProgress)();
54
+ }
55
+ return function (target, propertyKey, descriptor) {
56
+ return descriptor;
57
+ };
58
+ }
59
+ function WorkerOnQueueFailed() {
60
+ if ((0, mode_setup_1.shouldProcessQueues)()) {
61
+ return (0, bull_1.OnQueueFailed)();
62
+ }
63
+ return function (target, propertyKey, descriptor) {
64
+ return descriptor;
65
+ };
66
+ }
67
+ function WorkerOnQueueError() {
68
+ if ((0, mode_setup_1.shouldProcessQueues)()) {
69
+ return (0, bull_1.OnQueueError)();
70
+ }
71
+ return function (target, propertyKey, descriptor) {
72
+ return descriptor;
73
+ };
74
+ }
75
+ function WorkerOnQueueWaiting() {
76
+ if ((0, mode_setup_1.shouldProcessQueues)()) {
77
+ return (0, bull_1.OnQueueWaiting)();
78
+ }
79
+ return function (target, propertyKey, descriptor) {
80
+ return descriptor;
81
+ };
82
+ }
83
+ function WorkerOnQueueStalled() {
84
+ if ((0, mode_setup_1.shouldProcessQueues)()) {
85
+ return (0, bull_1.OnQueueStalled)();
86
+ }
87
+ return function (target, propertyKey, descriptor) {
88
+ return descriptor;
89
+ };
90
+ }
91
+ function WorkerOnQueueRemoved() {
92
+ if ((0, mode_setup_1.shouldProcessQueues)()) {
93
+ return (0, bull_1.OnQueueRemoved)();
94
+ }
95
+ return function (target, propertyKey, descriptor) {
96
+ return descriptor;
97
+ };
98
+ }
99
+ function WorkerOnQueueCleaned() {
100
+ if ((0, mode_setup_1.shouldProcessQueues)()) {
101
+ return (0, bull_1.OnQueueCleaned)();
102
+ }
103
+ return function (target, propertyKey, descriptor) {
104
+ return descriptor;
105
+ };
106
+ }
107
+ function WorkerOnQueueDrained() {
108
+ if ((0, mode_setup_1.shouldProcessQueues)()) {
109
+ return (0, bull_1.OnQueueDrained)();
110
+ }
111
+ return function (target, propertyKey, descriptor) {
112
+ return descriptor;
113
+ };
114
+ }
115
+ function WorkerOnQueuePaused() {
116
+ if ((0, mode_setup_1.shouldProcessQueues)()) {
117
+ return (0, bull_1.OnQueuePaused)();
118
+ }
119
+ return function (target, propertyKey, descriptor) {
120
+ return descriptor;
121
+ };
122
+ }
123
+ function WorkerOnQueueResumed() {
124
+ if ((0, mode_setup_1.shouldProcessQueues)()) {
125
+ return (0, bull_1.OnQueueResumed)();
126
+ }
127
+ return function (target, propertyKey, descriptor) {
128
+ return descriptor;
129
+ };
130
+ }