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.
@@ -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;AAkBnC,cAAM,IAAK,SAAQ,YAAa,YAAW,KAAK,CAAC,WAAW;;IAS1D,MAAM;;;MAAS;gBAGb,EAAE,EAAE,KAAK,CAAC,SAAS,EACnB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,KAAK,CAAC,0BAA0B;IAmB1C,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"}
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
- if (config.warningSlowQuerySeconds) {
35
- WARNINGS.SLOW_QUERY.seconds = config.warningSlowQuerySeconds;
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 > WARNINGS.SLOW_QUERY.seconds ||
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) || WARNINGS.LARGE_QUEUE.size));
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
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pg-boss",
3
- "version": "12.25.0",
3
+ "version": "12.25.1",
4
4
  "description": "Queueing jobs in Postgres from Node.js like a boss",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",