pg-boss 12.25.0 → 12.25.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.
- package/dist/boss.d.ts.map +1 -1
- package/dist/boss.js +7 -8
- package/package.json +1 -1
package/dist/boss.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boss.d.ts","sourceRoot":"","sources":["../src/boss.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAGvC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"boss.d.ts","sourceRoot":"","sources":["../src/boss.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAGvC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAmBnC,cAAM,IAAK,SAAQ,YAAa,YAAW,KAAK,CAAC,WAAW;;IAW1D,MAAM;;;MAAS;gBAGb,EAAE,EAAE,KAAK,CAAC,SAAS,EACnB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,KAAK,CAAC,0BAA0B;IAa1C,IAAI,WAAW,IAAK,OAAO,CAE1B;IAEK,KAAK;IAWL,IAAI;IA8FJ,SAAS,CAAE,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE;CAwItD;AAED,eAAe,IAAI,CAAA"}
|
package/dist/boss.js
CHANGED
|
@@ -7,6 +7,7 @@ const events = {
|
|
|
7
7
|
error: 'error',
|
|
8
8
|
warning: 'warning'
|
|
9
9
|
};
|
|
10
|
+
// Default thresholds and warning messages
|
|
10
11
|
const WARNINGS = {
|
|
11
12
|
SLOW_QUERY: { seconds: 30, message: 'Warning: slow query. Your queues and/or database server should be reviewed' },
|
|
12
13
|
LARGE_QUEUE: { size: 10_000, message: 'Warning: large queue backlog. Your queue should be reviewed' }
|
|
@@ -23,6 +24,8 @@ class Boss extends EventEmitter {
|
|
|
23
24
|
#db;
|
|
24
25
|
#config;
|
|
25
26
|
#manager;
|
|
27
|
+
#slowQuerySeconds;
|
|
28
|
+
#largeQueueSize;
|
|
26
29
|
events = events;
|
|
27
30
|
constructor(db, manager, config) {
|
|
28
31
|
super();
|
|
@@ -31,12 +34,8 @@ class Boss extends EventEmitter {
|
|
|
31
34
|
this.#manager = manager;
|
|
32
35
|
this.#stopped = true;
|
|
33
36
|
this.#stopping = false;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
if (config.warningQueueSize) {
|
|
38
|
-
WARNINGS.LARGE_QUEUE.size = config.warningQueueSize;
|
|
39
|
-
}
|
|
37
|
+
this.#slowQuerySeconds = config.warningSlowQuerySeconds || WARNINGS.SLOW_QUERY.seconds;
|
|
38
|
+
this.#largeQueueSize = config.warningQueueSize || WARNINGS.LARGE_QUEUE.size;
|
|
40
39
|
}
|
|
41
40
|
get maintaining() {
|
|
42
41
|
return !!this.#maintaining;
|
|
@@ -76,7 +75,7 @@ class Boss extends EventEmitter {
|
|
|
76
75
|
const started = Date.now();
|
|
77
76
|
const result = unwrapSQLResult(await this.#db.executeSql(query.text, query.values));
|
|
78
77
|
const elapsed = (Date.now() - started) / 1000;
|
|
79
|
-
if (elapsed >
|
|
78
|
+
if (elapsed > this.#slowQuerySeconds ||
|
|
80
79
|
this.#config.__test__warn_slow_query) {
|
|
81
80
|
await emitAndPersistWarning(this.#warningContext, WARNING_TYPES.SLOW_QUERY, WARNINGS.SLOW_QUERY.message, { elapsed, sql: query.text, values: query.values });
|
|
82
81
|
}
|
|
@@ -186,7 +185,7 @@ class Boss extends EventEmitter {
|
|
|
186
185
|
// Coerce with Number(): CockroachDB returns these integer columns as strings, so a bare `>`
|
|
187
186
|
// would compare lexicographically ("100" > "9" === false) and silently miss the backlog. On
|
|
188
187
|
// standard Postgres these are already numbers, so Number() is a no-op.
|
|
189
|
-
const warnings = rowsCacheStats.filter(i => Number(i.queuedCount) > (Number(i.warningQueueSize) ||
|
|
188
|
+
const warnings = rowsCacheStats.filter(i => Number(i.queuedCount) > (Number(i.warningQueueSize) || this.#largeQueueSize));
|
|
190
189
|
for (const warning of warnings) {
|
|
191
190
|
await emitAndPersistWarning(this.#warningContext, WARNING_TYPES.QUEUE_BACKLOG, WARNINGS.LARGE_QUEUE.message, warning);
|
|
192
191
|
}
|