pg-boss 12.34.0 → 12.35.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/README.md +1 -2
- package/dist/activity.d.ts +15 -0
- package/dist/activity.d.ts.map +1 -0
- package/dist/activity.js +95 -0
- package/dist/attorney.d.ts.map +1 -1
- package/dist/attorney.js +1 -0
- package/dist/boss.d.ts.map +1 -1
- package/dist/boss.js +50 -13
- package/dist/claimTimer.d.ts.map +1 -1
- package/dist/claimTimer.js +19 -1
- package/dist/clock.d.ts +10 -7
- package/dist/clock.d.ts.map +1 -1
- package/dist/clock.js +67 -38
- package/dist/index.d.ts +7 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -11
- package/dist/manager.d.ts +8 -6
- package/dist/manager.d.ts.map +1 -1
- package/dist/manager.js +217 -78
- package/dist/migrationStore.d.ts.map +1 -1
- package/dist/migrationStore.js +166 -3
- package/dist/navigator.d.ts.map +1 -1
- package/dist/navigator.js +4 -0
- package/dist/plans.d.ts +23 -13
- package/dist/plans.d.ts.map +1 -1
- package/dist/plans.js +815 -208
- package/dist/schema.json +196 -2
- package/dist/timekeeper.d.ts +2 -1
- package/dist/timekeeper.d.ts.map +1 -1
- package/dist/timekeeper.js +17 -8
- package/dist/types.d.ts +89 -88
- package/dist/types.d.ts.map +1 -1
- package/package.json +7 -7
package/dist/index.js
CHANGED
|
@@ -10,6 +10,7 @@ import Navigator from "./navigator.js";
|
|
|
10
10
|
import Notifier from "./notifier.js";
|
|
11
11
|
import { delay } from "./tools.js";
|
|
12
12
|
import { isAttachable } from "./clock.js";
|
|
13
|
+
import { trackActivity } from "./activity.js";
|
|
13
14
|
import * as plans from "./plans.js";
|
|
14
15
|
import DbDefault from "./db.js";
|
|
15
16
|
export { JOB_STATES as states } from "./plans.js";
|
|
@@ -48,6 +49,7 @@ export class PgBoss extends EventEmitter {
|
|
|
48
49
|
#startingPromise = null;
|
|
49
50
|
#stoppingPromise = null;
|
|
50
51
|
#attachedClock = null;
|
|
52
|
+
#idle;
|
|
51
53
|
#config;
|
|
52
54
|
#db;
|
|
53
55
|
#boss;
|
|
@@ -62,7 +64,13 @@ export class PgBoss extends EventEmitter {
|
|
|
62
64
|
this.#stopped = true;
|
|
63
65
|
const config = Attorney.getConfig(value);
|
|
64
66
|
this.#config = config;
|
|
65
|
-
|
|
67
|
+
let db = this.getDb();
|
|
68
|
+
// Before any component takes the db, so every statement they run is counted.
|
|
69
|
+
if (isAttachable(config.clock)) {
|
|
70
|
+
const tracked = trackActivity(db);
|
|
71
|
+
db = tracked.db;
|
|
72
|
+
this.#idle = tracked.idle;
|
|
73
|
+
}
|
|
66
74
|
this.#db = db;
|
|
67
75
|
if ('_pgbdb' in this.#db && this.#db._pgbdb) {
|
|
68
76
|
this.#promoteEvents(this.#db);
|
|
@@ -142,16 +150,15 @@ export class PgBoss extends EventEmitter {
|
|
|
142
150
|
await this.#contractor.check();
|
|
143
151
|
}
|
|
144
152
|
if (isAttachable(this.#config.clock)) {
|
|
145
|
-
this.#attachedClock = await this.#config.clock.attach({ db: this.#db, schema: this.#config.schema });
|
|
153
|
+
this.#attachedClock = await this.#config.clock.attach({ db: this.#db, schema: this.#config.schema, idle: this.#idle });
|
|
146
154
|
}
|
|
147
155
|
await this.#manager.start();
|
|
148
156
|
if (this.#config.useListenNotify) {
|
|
149
157
|
await this.#notifier.start();
|
|
150
158
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
}
|
|
159
|
+
// Whether or not supervise is set, which only decides if their timers are armed
|
|
160
|
+
await this.#boss.start();
|
|
161
|
+
await this.#navigator.start();
|
|
155
162
|
if (this.#config.schedule) {
|
|
156
163
|
await this.#timekeeper.start();
|
|
157
164
|
}
|
|
@@ -256,12 +263,10 @@ export class PgBoss extends EventEmitter {
|
|
|
256
263
|
}
|
|
257
264
|
// Real time, not the configured clock: the deadline bounds shutdown I/O, and under a test
|
|
258
265
|
// clock nothing would tick it while the test is blocked inside stop().
|
|
259
|
-
|
|
260
|
-
const
|
|
266
|
+
let deadlineTimer;
|
|
267
|
+
const deadline = new Promise(resolve => { deadlineTimer = setTimeout(resolve, timeout); });
|
|
261
268
|
try {
|
|
262
|
-
|
|
263
|
-
await delay(500);
|
|
264
|
-
}
|
|
269
|
+
await Promise.race([this.#manager.settleCleanups(), deadline]);
|
|
265
270
|
}
|
|
266
271
|
finally {
|
|
267
272
|
clearTimeout(deadlineTimer);
|
|
@@ -405,6 +410,9 @@ export class PgBoss extends EventEmitter {
|
|
|
405
410
|
isCheckingSkew() {
|
|
406
411
|
return this.#timekeeper.checkingSkew;
|
|
407
412
|
}
|
|
413
|
+
isTimekeeping() {
|
|
414
|
+
return this.#timekeeper.timekeeping;
|
|
415
|
+
}
|
|
408
416
|
supervise(name, options) {
|
|
409
417
|
return this.#boss.supervise(name, options);
|
|
410
418
|
}
|
package/dist/manager.d.ts
CHANGED
|
@@ -44,7 +44,8 @@ declare class Manager extends EventEmitter implements types.EventsMixin {
|
|
|
44
44
|
getWipData(options?: {
|
|
45
45
|
includeInternal?: boolean;
|
|
46
46
|
}): types.WipData[];
|
|
47
|
-
|
|
47
|
+
trackCleanup(cleanup: Promise<unknown>): void;
|
|
48
|
+
settleCleanups(): Promise<void>;
|
|
48
49
|
offWork(name: string, options?: types.OffWorkOptions): Promise<void>;
|
|
49
50
|
notifyWorker(workerId: string): void;
|
|
50
51
|
notifyQueue(name: string): void;
|
|
@@ -72,27 +73,28 @@ declare class Manager extends EventEmitter implements types.EventsMixin {
|
|
|
72
73
|
includeMetadata: true;
|
|
73
74
|
}): Promise<types.JobWithMetadata<T>[]>;
|
|
74
75
|
fetch<T>(name: string, options: types.FetchOptions): Promise<types.Job<T>[]>;
|
|
76
|
+
private mapAttemptArg;
|
|
75
77
|
private mapCompletionIdArg;
|
|
76
78
|
private mapCompletionDataArg;
|
|
77
79
|
private mapCommandResponse;
|
|
78
|
-
complete(name: string, id: string | string[], data?: object | null, options?: types.CompleteOptions): Promise<types.CommandResponse>;
|
|
80
|
+
complete(name: string, id: string | string[] | types.JobAttempt | types.JobAttempt[], data?: object | null, options?: types.CompleteOptions): Promise<types.CommandResponse>;
|
|
79
81
|
private ensureTransaction;
|
|
80
82
|
private completeDistributed;
|
|
81
|
-
fail(name: string, id: string | string[], data?: any, options?: types.ConnectionOptions): Promise<types.CommandResponse>;
|
|
83
|
+
fail(name: string, id: string | string[] | types.JobAttempt | types.JobAttempt[], data?: any, options?: types.ConnectionOptions): Promise<types.CommandResponse>;
|
|
82
84
|
private failDistributed;
|
|
83
85
|
failJobsByTimeoutDistributed(table: string, queues: string[]): Promise<number>;
|
|
84
86
|
failJobsByHeartbeatDistributed(table: string, queues: string[]): Promise<number>;
|
|
85
87
|
resolveFlowJobsDistributed(table: string, names: string[]): Promise<number>;
|
|
86
88
|
private expireJobsDistributed;
|
|
87
89
|
private reinsertFailedJobs;
|
|
88
|
-
deleteJob(name: string, id: string | string[], options?: types.ConnectionOptions): Promise<types.CommandResponse>;
|
|
90
|
+
deleteJob(name: string, id: string | string[] | types.JobAttempt | types.JobAttempt[], options?: types.ConnectionOptions): Promise<types.CommandResponse>;
|
|
89
91
|
redrive(name: string, options?: types.RedriveOptions): Promise<number>;
|
|
90
92
|
previewRedrive(name: string, options?: types.RedriveFilter): Promise<types.RedrivePreview>;
|
|
91
|
-
cancel(name: string, id: string | string[], options?: types.ConnectionOptions): Promise<types.CommandResponse>;
|
|
93
|
+
cancel(name: string, id: string | string[] | types.JobAttempt | types.JobAttempt[], options?: types.ConnectionOptions): Promise<types.CommandResponse>;
|
|
92
94
|
resume(name: string, id: string | string[], options?: types.ConnectionOptions): Promise<types.CommandResponse>;
|
|
93
95
|
restore(name: string, id: string | string[], options?: types.ConnectionOptions): Promise<void>;
|
|
94
96
|
retry(name: string, id: string | string[], options?: types.ConnectionOptions): Promise<types.CommandResponse>;
|
|
95
|
-
touch(name: string, id: string | string[], options?: types.ConnectionOptions): Promise<types.CommandResponse>;
|
|
97
|
+
touch(name: string, id: string | string[] | types.JobAttempt | types.JobAttempt[], options?: types.ConnectionOptions): Promise<types.CommandResponse>;
|
|
96
98
|
createQueue(name: string, options?: Omit<types.Queue, 'name'> & {
|
|
97
99
|
name?: string;
|
|
98
100
|
}): Promise<void>;
|
package/dist/manager.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"AAEA,OAAO,YAAY,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"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"}
|