@wavezync/nestjs-pgboss 2.0.0 → 2.0.1
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.
|
@@ -10,11 +10,11 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.HandlerScannerService = void 0;
|
|
13
|
-
const common_1 = require("@nestjs/common");
|
|
14
13
|
const core_1 = require("@nestjs/core");
|
|
15
14
|
const pgboss_service_1 = require("./pgboss.service");
|
|
16
15
|
const job_decorator_1 = require("./decorators/job.decorator");
|
|
17
16
|
const consts_1 = require("./utils/consts");
|
|
17
|
+
const common_1 = require("@nestjs/common");
|
|
18
18
|
let HandlerScannerService = class HandlerScannerService {
|
|
19
19
|
constructor(pgBossService, reflector, modulesContainer) {
|
|
20
20
|
this.pgBossService = pgBossService;
|
|
@@ -44,13 +44,18 @@ let HandlerScannerService = class HandlerScannerService {
|
|
|
44
44
|
const cronOptions = this.reflector.get(job_decorator_1.CRON_OPTIONS, methodRef);
|
|
45
45
|
if (jobName) {
|
|
46
46
|
const boundHandler = methodRef.bind(instance);
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
try {
|
|
48
|
+
if (cronExpression) {
|
|
49
|
+
await this.pgBossService.registerCronJob(jobName, cronExpression, boundHandler, {}, cronOptions);
|
|
50
|
+
this.logger.log(`Registered cron job: ${jobName}`);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
await this.pgBossService.registerJob(jobName, boundHandler, jobOptions);
|
|
54
|
+
this.logger.log(`Registered job: ${jobName}`);
|
|
55
|
+
}
|
|
50
56
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
this.logger.log(`Registered job: ${jobName}`);
|
|
57
|
+
catch (error) {
|
|
58
|
+
this.logger.error(`Error registering job ${jobName}:`);
|
|
54
59
|
}
|
|
55
60
|
}
|
|
56
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler-scanner.service.js","sourceRoot":"","sources":["../lib/handler-scanner.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"handler-scanner.service.js","sourceRoot":"","sources":["../lib/handler-scanner.service.ts"],"names":[],"mappings":"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"}
|
package/dist/pgboss.module.js
CHANGED
|
@@ -30,6 +30,9 @@ let PgBossModule = PgBossModule_1 = class PgBossModule {
|
|
|
30
30
|
this.boss = boss;
|
|
31
31
|
this.handlerScannerService = handlerScannerService;
|
|
32
32
|
this.logger = new common_1.Logger(consts_1.LOGGER);
|
|
33
|
+
this.boss.on("error", (error) => {
|
|
34
|
+
this.logger.error(`PgBoss error: ${error.message}`, error.stack);
|
|
35
|
+
});
|
|
33
36
|
}
|
|
34
37
|
static forRootAsync(options) {
|
|
35
38
|
const logger = new common_1.Logger(consts_1.LOGGER);
|
|
@@ -39,6 +42,9 @@ let PgBossModule = PgBossModule_1 = class PgBossModule {
|
|
|
39
42
|
const boss = await (0, rxjs_1.lastValueFrom)((0, rxjs_1.defer)(() => new pg_boss_1.default({
|
|
40
43
|
connectionString: pgBossOptions.connectionString,
|
|
41
44
|
}).start()).pipe((0, handleRetry_1.handleRetry)(pgBossOptions.retryAttempts, pgBossOptions.retryDelay, pgBossOptions.verboseRetryLog)));
|
|
45
|
+
boss.on("error", (error) => {
|
|
46
|
+
logger.error(`PgBoss error: ${error.message}`, error.stack);
|
|
47
|
+
});
|
|
42
48
|
logger.log("PgBoss started successfully");
|
|
43
49
|
return boss;
|
|
44
50
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pgboss.module.js","sourceRoot":"","sources":["../lib/pgboss.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,2CASwB;AACxB,uCAA+C;AAC/C,sDAA6B;AAC7B,+BAA4C;AAC5C,qDAAiD;AACjD,2CAAsE;AAKtE,uEAAkE;AAClE,qDAAgD;AAMzC,IAAM,YAAY,oBAAlB,MAAM,YAAY;IAKvB,YACwB,IAA6B,EAClC,qBAA4C;QADtB,SAAI,GAAJ,IAAI,CAAQ;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;QAJ9C,WAAM,GAAG,IAAI,eAAM,CAAC,eAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"pgboss.module.js","sourceRoot":"","sources":["../lib/pgboss.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Injectable, Logger } from "@nestjs/common";
|
|
2
1
|
import { Reflector, ModulesContainer } from "@nestjs/core";
|
|
3
2
|
import { PgBossService } from "./pgboss.service";
|
|
4
3
|
import {
|
|
@@ -9,7 +8,8 @@ import {
|
|
|
9
8
|
} from "./decorators/job.decorator";
|
|
10
9
|
import { InstanceWrapper } from "@nestjs/core/injector/instance-wrapper";
|
|
11
10
|
import { BatchWorkOptions } from "pg-boss";
|
|
12
|
-
import { LOGGER } from "utils/consts";
|
|
11
|
+
import { LOGGER } from "./utils/consts";
|
|
12
|
+
import { Injectable, Logger } from "@nestjs/common";
|
|
13
13
|
|
|
14
14
|
@Injectable()
|
|
15
15
|
export class HandlerScannerService {
|
|
@@ -57,22 +57,26 @@ export class HandlerScannerService {
|
|
|
57
57
|
if (jobName) {
|
|
58
58
|
const boundHandler = methodRef.bind(instance);
|
|
59
59
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
60
|
+
try {
|
|
61
|
+
if (cronExpression) {
|
|
62
|
+
await this.pgBossService.registerCronJob(
|
|
63
|
+
jobName,
|
|
64
|
+
cronExpression,
|
|
65
|
+
boundHandler,
|
|
66
|
+
{},
|
|
67
|
+
cronOptions,
|
|
68
|
+
);
|
|
69
|
+
this.logger.log(`Registered cron job: ${jobName}`);
|
|
70
|
+
} else {
|
|
71
|
+
await this.pgBossService.registerJob(
|
|
72
|
+
jobName,
|
|
73
|
+
boundHandler,
|
|
74
|
+
jobOptions,
|
|
75
|
+
);
|
|
76
|
+
this.logger.log(`Registered job: ${jobName}`);
|
|
77
|
+
}
|
|
78
|
+
} catch (error) {
|
|
79
|
+
this.logger.error(`Error registering job ${jobName}:`);
|
|
76
80
|
}
|
|
77
81
|
}
|
|
78
82
|
}
|
package/lib/pgboss.module.ts
CHANGED
|
@@ -32,7 +32,11 @@ export class PgBossModule
|
|
|
32
32
|
constructor(
|
|
33
33
|
@Inject(PGBOSS_TOKEN) private readonly boss: PgBoss,
|
|
34
34
|
private readonly handlerScannerService: HandlerScannerService,
|
|
35
|
-
) {
|
|
35
|
+
) {
|
|
36
|
+
this.boss.on("error", (error: Error) => {
|
|
37
|
+
this.logger.error(`PgBoss error: ${error.message}`, error.stack);
|
|
38
|
+
});
|
|
39
|
+
}
|
|
36
40
|
|
|
37
41
|
static forRootAsync(options: PgBossModuleAsyncOptions): DynamicModule {
|
|
38
42
|
const logger = new Logger(LOGGER);
|
|
@@ -53,6 +57,9 @@ export class PgBossModule
|
|
|
53
57
|
),
|
|
54
58
|
),
|
|
55
59
|
);
|
|
60
|
+
boss.on("error", (error: Error) => {
|
|
61
|
+
logger.error(`PgBoss error: ${error.message}`, error.stack);
|
|
62
|
+
});
|
|
56
63
|
logger.log("PgBoss started successfully");
|
|
57
64
|
return boss;
|
|
58
65
|
},
|