pg-boss 12.33.6 → 12.34.0
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/attorney.d.ts +1 -1
- package/dist/attorney.d.ts.map +1 -1
- package/dist/attorney.js +7 -2
- package/dist/cli.js +3 -3
- package/dist/clock.d.ts +7 -1
- package/dist/clock.d.ts.map +1 -1
- package/dist/clock.js +18 -2
- package/dist/contractor.d.ts +3 -0
- package/dist/contractor.d.ts.map +1 -1
- package/dist/contractor.js +22 -8
- package/dist/drifter.d.ts +2 -0
- package/dist/drifter.d.ts.map +1 -1
- package/dist/drifter.js +5 -3
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/manager.d.ts +1 -0
- package/dist/manager.d.ts.map +1 -1
- package/dist/manager.js +93 -31
- package/dist/plans.d.ts +6 -0
- package/dist/plans.d.ts.map +1 -1
- package/dist/plans.js +175 -28
- package/dist/timekeeper.d.ts +7 -3
- package/dist/timekeeper.d.ts.map +1 -1
- package/dist/timekeeper.js +32 -33
- package/dist/types.d.ts +31 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -1
package/dist/attorney.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ declare const POLICY: {
|
|
|
4
4
|
MIN_POLLING_INTERVAL_MS: number;
|
|
5
5
|
MAX_RETENTION_DAYS: number;
|
|
6
6
|
};
|
|
7
|
-
declare const COMPATIBILITY_FLAGS: readonly ["noSkipLocked", "noMultiMutationCte", "noTablePartitioning", "noDeferrableConstraints", "noAdvisoryLocks", "noCoveringIndexes", "noAddColumnBackfill", "noListenNotify", "noIndexProgressView", "noReindex", "noMonitorVacuum", "noTransactionalHeartbeat"];
|
|
7
|
+
declare const COMPATIBILITY_FLAGS: readonly ["noSkipLocked", "noMultiMutationCte", "noTablePartitioning", "noDeferrableConstraints", "noAdvisoryLocks", "noCoveringIndexes", "noAddColumnBackfill", "noListenNotify", "noIndexProgressView", "noReindex", "noMonitorVacuum", "noTransactionalHeartbeat", "inlineTableIndexes"];
|
|
8
8
|
declare function validateQueueArgs(config?: any): void;
|
|
9
9
|
declare function pinZonelessDateTime(value: string): string;
|
|
10
10
|
declare function checkSendArgs(args: any): types.Request;
|
package/dist/attorney.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attorney.d.ts","sourceRoot":"","sources":["../src/attorney.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AAExC,QAAA,MAAM,MAAM;;;;CAIX,CAAA;AAKD,QAAA,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"attorney.d.ts","sourceRoot":"","sources":["../src/attorney.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AAExC,QAAA,MAAM,MAAM;;;;CAIX,CAAA;AAKD,QAAA,MAAM,mBAAmB,6RAcf,CAAA;AA+EV,iBAAS,iBAAiB,CAAE,MAAM,GAAE,GAAQ,QAc3C;AAiBD,iBAAS,mBAAmB,CAAE,KAAK,EAAE,MAAM,UAE1C;AAED,iBAAS,aAAa,CAAE,IAAI,EAAE,GAAG,GAAG,KAAK,CAAC,OAAO,CAgDhD;AAOD,iBAAS,eAAe,CAAE,IAAI,EAAE,GAAG,EAAE,EAAE,MAAc,EAAE;;CAAK,GAAG,KAAK,CAAC,OAAO,CA4D3E;AAED,iBAAS,mBAAmB,CAAE,MAAM,EAAE,GAAG,QAOxC;AAED,iBAAS,gBAAgB,CAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,QA2D/C;AA2GD,iBAAS,aAAa,CAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG;IAClD,OAAO,EAAE,KAAK,CAAC,mBAAmB,CAAA;IAClC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;CACjC,CAgCA;AAqBD,iBAAS,cAAc,CAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,QAQlD;AAED,iBAAS,SAAS,CAAE,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC,0BAA0B,CA0B9F;AA8GD,iBAAS,wBAAwB,CAAE,IAAI,EAAE,MAAM,QAiC9C;AAED,iBAAS,eAAe,CAAE,IAAI,EAAE,MAAM,QAIrC;AAED,iBAAS,SAAS,CAAE,GAAG,EAAE,MAAM,QAI9B;AA+LD,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,cAAc,EACd,aAAa,EACb,eAAe,EACf,aAAa,EACb,SAAS,EACT,mBAAmB,EACnB,MAAM,EACN,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EAClB,CAAA"}
|
package/dist/attorney.js
CHANGED
|
@@ -21,7 +21,8 @@ const COMPATIBILITY_FLAGS = [
|
|
|
21
21
|
'noIndexProgressView',
|
|
22
22
|
'noReindex',
|
|
23
23
|
'noMonitorVacuum',
|
|
24
|
-
'noTransactionalHeartbeat'
|
|
24
|
+
'noTransactionalHeartbeat',
|
|
25
|
+
'inlineTableIndexes'
|
|
25
26
|
];
|
|
26
27
|
// The single source of truth for backend presets, mirrored by test/testHelper.ts.
|
|
27
28
|
const BACKEND_PROFILES = {
|
|
@@ -53,7 +54,11 @@ const BACKEND_PROFILES = {
|
|
|
53
54
|
// serializable lands at a timestamp above the handler transaction's. The completion pg-boss
|
|
54
55
|
// runs inside that transaction then cannot write the same row and the batch dies with a
|
|
55
56
|
// WriteTooOldError. YugabyteDB's snapshot isolation waits instead, so it does NOT set this.
|
|
56
|
-
noTransactionalHeartbeat: true
|
|
57
|
+
noTransactionalHeartbeat: true,
|
|
58
|
+
// Each CREATE INDEX or ADD PRIMARY KEY after a CREATE TABLE is its own schema-change job,
|
|
59
|
+
// run after commit even inside the create transaction: ~0.4-2s apiece, ~15s for a fresh
|
|
60
|
+
// schema. Declared inside CREATE TABLE they cost nothing extra.
|
|
61
|
+
inlineTableIndexes: true
|
|
57
62
|
}
|
|
58
63
|
},
|
|
59
64
|
yugabytedb: {
|
package/dist/cli.js
CHANGED
|
@@ -4,7 +4,7 @@ import { readFileSync, existsSync } from 'node:fs';
|
|
|
4
4
|
import { resolve } from 'node:path';
|
|
5
5
|
import Db from "./db.js";
|
|
6
6
|
import * as plans from "./plans.js";
|
|
7
|
-
import Contractor from "./contractor.js";
|
|
7
|
+
import Contractor, { installConfig } from "./contractor.js";
|
|
8
8
|
import * as migrationStore from "./migrationStore.js";
|
|
9
9
|
import * as attorney from "./attorney.js";
|
|
10
10
|
import packageJson from '../package.json' with { type: 'json' };
|
|
@@ -267,7 +267,7 @@ async function cmdCreate(args) {
|
|
|
267
267
|
return;
|
|
268
268
|
}
|
|
269
269
|
console.log(`Creating pg-boss schema "${schema}"...`);
|
|
270
|
-
const sql = plans.create(schema, schemaVersion, { ...config, createSchema: true });
|
|
270
|
+
const sql = plans.create(schema, schemaVersion, { ...await installConfig(db, config), createSchema: true });
|
|
271
271
|
await db.executeSql(sql);
|
|
272
272
|
console.log(`Successfully created pg-boss schema "${schema}" at version ${schemaVersion}`);
|
|
273
273
|
}
|
|
@@ -315,7 +315,7 @@ async function cmdMigrate(args) {
|
|
|
315
315
|
const version = await getSchemaVersion(db, schema);
|
|
316
316
|
if (version === null) {
|
|
317
317
|
console.log(`pg-boss is not installed. Creating schema "${schema}"...`);
|
|
318
|
-
const sql = plans.create(schema, schemaVersion, { ...config, createSchema: true });
|
|
318
|
+
const sql = plans.create(schema, schemaVersion, { ...await installConfig(db, config), createSchema: true });
|
|
319
319
|
await db.executeSql(sql);
|
|
320
320
|
console.log(`Successfully created pg-boss schema "${schema}" at version ${schemaVersion}`);
|
|
321
321
|
return;
|
package/dist/clock.d.ts
CHANGED
|
@@ -18,7 +18,13 @@ export declare class TestClock implements AttachableClock {
|
|
|
18
18
|
setInterval(fn: () => void, ms: number): ClockTimer;
|
|
19
19
|
clearTimeout(handle: ClockTimer): void;
|
|
20
20
|
clearInterval(handle: ClockTimer): void;
|
|
21
|
-
/**
|
|
21
|
+
/**
|
|
22
|
+
* Jumps to a time, forwards or backwards, firing nothing. Postgres sees a forward jump as elapsed
|
|
23
|
+
* time, so JS timers do too: each one the jump passed fires once on the next tick, as if the
|
|
24
|
+
* process had slept, and an interval then keeps its period from there instead of replaying every
|
|
25
|
+
* period it skipped. A backward jump leaves timers alone, so JS deadlines still agree with the
|
|
26
|
+
* database's.
|
|
27
|
+
*/
|
|
22
28
|
setTime(t: Date | number | string): Promise<void>;
|
|
23
29
|
/**
|
|
24
30
|
* Advances by ms, firing each due timer in order at its own due time. Does not wait for I/O the
|
package/dist/clock.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clock.d.ts","sourceRoot":"","sources":["../src/clock.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE/E,eAAO,MAAM,WAAW,EAAE,KAMzB,CAAA;AAED,wBAAgB,YAAY,CAAE,KAAK,EAAE,KAAK,GAAG,KAAK,IAAI,eAAe,CAEpE;AASD,UAAU,MAAM;IACd,EAAE,EAAE,SAAS,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAUD;;;;GAIG;AACH,qBAAa,SAAU,YAAW,eAAe;;gBAWlC,KAAK,GAAE,IAAI,GAAG,MAAM,GAAG,MAAmB;IAIvD,GAAG,IAAK,MAAM;IAId,UAAU,CAAE,EAAE,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU;IAInD,WAAW,CAAE,EAAE,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU;IAIpD,YAAY,CAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAKvC,aAAa,CAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAIxC
|
|
1
|
+
{"version":3,"file":"clock.d.ts","sourceRoot":"","sources":["../src/clock.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE/E,eAAO,MAAM,WAAW,EAAE,KAMzB,CAAA;AAED,wBAAgB,YAAY,CAAE,KAAK,EAAE,KAAK,GAAG,KAAK,IAAI,eAAe,CAEpE;AASD,UAAU,MAAM;IACd,EAAE,EAAE,SAAS,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAUD;;;;GAIG;AACH,qBAAa,SAAU,YAAW,eAAe;;gBAWlC,KAAK,GAAE,IAAI,GAAG,MAAM,GAAG,MAAmB;IAIvD,GAAG,IAAK,MAAM;IAId,UAAU,CAAE,EAAE,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU;IAInD,WAAW,CAAE,EAAE,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU;IAIpD,YAAY,CAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAKvC,aAAa,CAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAIxC;;;;;;OAMG;IACG,OAAO,CAAE,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBxD;;;OAGG;IACG,IAAI,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsChC,MAAM,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;CA4ExD"}
|
package/dist/clock.js
CHANGED
|
@@ -52,9 +52,25 @@ export class TestClock {
|
|
|
52
52
|
clearInterval(handle) {
|
|
53
53
|
this.clearTimeout(handle);
|
|
54
54
|
}
|
|
55
|
-
/**
|
|
55
|
+
/**
|
|
56
|
+
* Jumps to a time, forwards or backwards, firing nothing. Postgres sees a forward jump as elapsed
|
|
57
|
+
* time, so JS timers do too: each one the jump passed fires once on the next tick, as if the
|
|
58
|
+
* process had slept, and an interval then keeps its period from there instead of replaying every
|
|
59
|
+
* period it skipped. A backward jump leaves timers alone, so JS deadlines still agree with the
|
|
60
|
+
* database's.
|
|
61
|
+
*/
|
|
56
62
|
async setTime(t) {
|
|
57
|
-
this.#
|
|
63
|
+
if (this.#ticking) {
|
|
64
|
+
throw new Error('TestClock: setTime() called while a tick is in progress');
|
|
65
|
+
}
|
|
66
|
+
const next = toMillis(t);
|
|
67
|
+
// #timers is sorted by due time, so the overdue timers are a prefix and stay sorted once moved.
|
|
68
|
+
for (const timer of this.#timers) {
|
|
69
|
+
if (timer.due >= next)
|
|
70
|
+
break;
|
|
71
|
+
timer.due = next;
|
|
72
|
+
}
|
|
73
|
+
this.#now = next;
|
|
58
74
|
await this.#push();
|
|
59
75
|
}
|
|
60
76
|
/**
|
package/dist/contractor.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import type * as types from './types.ts';
|
|
2
|
+
export declare function installConfig<T extends {
|
|
3
|
+
inlineTableIndexes?: boolean;
|
|
4
|
+
}>(db: types.IDatabase, config: T): Promise<T>;
|
|
2
5
|
declare class Contractor {
|
|
3
6
|
static constructionPlans(schema?: string, options?: types.ConstructionPlanOptions): string;
|
|
4
7
|
static migrationPlans(schema?: string, version?: number, options?: types.MigrationPlanOptions): string;
|
package/dist/contractor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contractor.d.ts","sourceRoot":"","sources":["../src/contractor.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"contractor.d.ts","sourceRoot":"","sources":["../src/contractor.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AAsBxC,wBAAsB,aAAa,CAAC,CAAC,SAAS;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,EAAG,EAAE,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAO3H;AAED,cAAM,UAAU;IACd,MAAM,CAAC,iBAAiB,CAAE,MAAM,SAAuB,EAAE,OAAO,GAAE,KAAK,CAAC,uBAA4B;IAcpG,MAAM,CAAC,cAAc,CAAE,MAAM,SAAuB,EAAE,OAAO,SAAoB,EAAE,OAAO,GAAE,KAAK,CAAC,oBAAyB;IAS3H,MAAM,CAAC,aAAa,CAAE,MAAM,SAAuB,EAAE,OAAO,SAAgB,EAAE,OAAO,GAAE,KAAK,CAAC,WAAgB;IAM7G,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,UAAU,CAAmB;gBAExB,EAAE,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,0BAA0B;IAgBpE,aAAa;IAKb,WAAW;IAKX,KAAK;YAsBG,yBAAyB;IAkCjC,WAAW,CAAE,OAAO,GAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC;IAwHzF,mBAAmB,IAAK,OAAO,CAAC,OAAO,CAAC;IASxC,oBAAoB,IAAK,OAAO,CAAC,IAAI,CAAC;IAItC,KAAK;IAcL,MAAM;IASN,OAAO,CAAE,OAAO,EAAE,MAAM;IASxB,IAAI,CAAE,OAAO,EAAE,MAAM;IAKrB,QAAQ,CAAE,OAAO,EAAE,MAAM;CAIhC;AAED,eAAe,UAAU,CAAA"}
|
package/dist/contractor.js
CHANGED
|
@@ -17,6 +17,17 @@ function planConfig(schema, backend) {
|
|
|
17
17
|
// value, so `{ backend: undefined }` is a named backend that is not one of the profiles.
|
|
18
18
|
return getConfig(backend ? { schema, backend } : { schema });
|
|
19
19
|
}
|
|
20
|
+
// Whether a live install may use inlineTableIndexes. The flag comes from the backend profile, but
|
|
21
|
+
// the syntax it emits is CockroachDB's own, and the cockroachdb profile is otherwise safe to run on
|
|
22
|
+
// plain Postgres (its other flags only remove features). So a live install asks the server what it
|
|
23
|
+
// is before inlining. Printed plans have no server to ask and follow the named backend instead.
|
|
24
|
+
export async function installConfig(db, config) {
|
|
25
|
+
if (!config.inlineTableIndexes)
|
|
26
|
+
return config;
|
|
27
|
+
const { rows } = await db.executeSql(plans.SERVER_VERSION);
|
|
28
|
+
const cockroach = /cockroachdb/i.test(String(rows[0]?.version ?? ''));
|
|
29
|
+
return cockroach ? config : { ...config, inlineTableIndexes: false };
|
|
30
|
+
}
|
|
20
31
|
class Contractor {
|
|
21
32
|
static constructionPlans(schema = plans.DEFAULT_SCHEMA, options = {}) {
|
|
22
33
|
const { createSchema = true, backend } = options;
|
|
@@ -26,7 +37,8 @@ class Contractor {
|
|
|
26
37
|
noTablePartitioning: config.noTablePartitioning,
|
|
27
38
|
noDeferrableConstraints: config.noDeferrableConstraints,
|
|
28
39
|
noAdvisoryLocks: config.noAdvisoryLocks,
|
|
29
|
-
noCoveringIndexes: config.noCoveringIndexes
|
|
40
|
+
noCoveringIndexes: config.noCoveringIndexes,
|
|
41
|
+
inlineTableIndexes: config.inlineTableIndexes
|
|
30
42
|
});
|
|
31
43
|
}
|
|
32
44
|
static migrationPlans(schema = plans.DEFAULT_SCHEMA, version = schemaVersion - 1, options = {}) {
|
|
@@ -190,10 +202,12 @@ class Contractor {
|
|
|
190
202
|
liveConstraints = [];
|
|
191
203
|
}
|
|
192
204
|
const building = new Set(bamCommands.map(plans.bamCommandIndexName).filter((n) => n !== null));
|
|
193
|
-
// CockroachDB renders column types (INT8 vs integer), default expressions,
|
|
194
|
-
// definitions
|
|
195
|
-
//
|
|
196
|
-
//
|
|
205
|
+
// CockroachDB renders column types (INT8 vs integer), default expressions, constraint definitions,
|
|
206
|
+
// index definitions (`name ASC`, `''::STRING`, `!=`, `IN (...)`) and function bodies (database-
|
|
207
|
+
// qualified names, `::INT8`, `now():::TIMESTAMPTZ`) differently from standard Postgres, so the
|
|
208
|
+
// canonical-form checks would flag every one of them there. Restrict definition drift to
|
|
209
|
+
// Postgres-typed backends; the presence checks (tables, indexes and their validity, column
|
|
210
|
+
// names, functions, enum) still run everywhere.
|
|
197
211
|
const canonicalPg = this.config.backend !== 'cockroachdb';
|
|
198
212
|
const expectedColumns = plans.expectedManagedColumns(schema, partitioned, partitions)
|
|
199
213
|
.map(c => canonicalPg ? c : { table: c.table, columns: c.columns });
|
|
@@ -204,9 +218,9 @@ class Contractor {
|
|
|
204
218
|
const expectedIndexes = plans.expectedManagedIndexes(schema, partitioned, partitions)
|
|
205
219
|
.map(i => this.config.noCoveringIndexes ? { ...i, include: '' } : i);
|
|
206
220
|
return drifter.computeSchemaDrift({
|
|
207
|
-
indexes: { expected: expectedIndexes, live, building },
|
|
221
|
+
indexes: { expected: expectedIndexes, live, building, presenceOnly: !canonicalPg },
|
|
208
222
|
tables: { expected: plans.expectedManagedTables(schema, partitioned, partitions), live: liveTables ?? [...new Set(liveColumns.map(c => c.table))] },
|
|
209
|
-
functions: functionsSupported ? { expected: plans.expectedManagedFunctions(schema, partitioned, options), live: liveFunctions } : undefined,
|
|
223
|
+
functions: functionsSupported ? { expected: plans.expectedManagedFunctions(schema, partitioned, options), live: liveFunctions, presenceOnly: !canonicalPg } : undefined,
|
|
210
224
|
columns: { expected: expectedColumns, live: liveColumns },
|
|
211
225
|
constraints: canonicalPg ? { expected: plans.expectedManagedConstraints(schema, partitioned), live: liveConstraints } : undefined,
|
|
212
226
|
enum: { name: 'job_state', expected: plans.EXPECTED_JOB_STATES, actual: enumLabels }
|
|
@@ -246,7 +260,7 @@ class Contractor {
|
|
|
246
260
|
}
|
|
247
261
|
async create() {
|
|
248
262
|
try {
|
|
249
|
-
const commands = plans.create(this.config.schema, schemaVersion, this.config);
|
|
263
|
+
const commands = plans.create(this.config.schema, schemaVersion, await installConfig(this.db, this.config));
|
|
250
264
|
await this.db.executeSql(commands);
|
|
251
265
|
}
|
|
252
266
|
catch (err) {
|
package/dist/drifter.d.ts
CHANGED
|
@@ -60,6 +60,7 @@ export declare function computeSchemaDrift(opts?: {
|
|
|
60
60
|
expected: ManagedIndex[];
|
|
61
61
|
live: LiveIndex[];
|
|
62
62
|
building?: ReadonlySet<string>;
|
|
63
|
+
presenceOnly?: boolean;
|
|
63
64
|
};
|
|
64
65
|
tables?: {
|
|
65
66
|
expected: string[];
|
|
@@ -68,6 +69,7 @@ export declare function computeSchemaDrift(opts?: {
|
|
|
68
69
|
functions?: {
|
|
69
70
|
expected: ManagedFunction[];
|
|
70
71
|
live: LiveFunction[];
|
|
72
|
+
presenceOnly?: boolean;
|
|
71
73
|
};
|
|
72
74
|
columns?: {
|
|
73
75
|
expected: ExpectedColumns[];
|
package/dist/drifter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drifter.d.ts","sourceRoot":"","sources":["../src/drifter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAiC,eAAe,EAAsB,gBAAgB,EAAa,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAqCnL,wBAAgB,SAAS,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAG9C;AA8BD,wBAAgB,YAAY,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAGjD;AAGD,wBAAgB,eAAe,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAGpD;AA4BD,wBAAgB,cAAc,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD;AAOD,wBAAgB,YAAY,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAGjD;AAED,wBAAgB,iBAAiB,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD;AA4BD,wBAAgB,sBAAsB,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAO3D;AAQD,wBAAgB,mBAAmB,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAOxD;AAKD,wBAAgB,qBAAqB,CAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3D;AAKD,wBAAgB,gBAAgB,CAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAID,wBAAgB,sBAAsB,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE3D;AAOD,wBAAgB,gBAAgB,CAAE,MAAM,EAAE,MAAM,UAU/C;AAMD,wBAAgB,kBAAkB,CAAE,MAAM,EAAE,MAAM,UAOjD;AAKD,wBAAgB,iBAAiB,CAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,SAAc,UASxE;AAOD,wBAAgB,gBAAgB,CAAE,MAAM,EAAE,MAAM,UAa/C;AAQD,wBAAgB,eAAe,CAAE,MAAM,EAAE,MAAM,UAQ9C;AAMD,wBAAgB,oBAAoB,CAAE,MAAM,EAAE,MAAM,UAQnD;AAGD,wBAAgB,YAAY,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAGjD;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,OAAO,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,sGAAsG;IACtG,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;CAC3D;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,EAAE,CAAA;CACtB;
|
|
1
|
+
{"version":3,"file":"drifter.d.ts","sourceRoot":"","sources":["../src/drifter.ts"],"names":[],"mappings":"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"}
|
package/dist/drifter.js
CHANGED
|
@@ -278,7 +278,7 @@ export function functionName(def) {
|
|
|
278
278
|
// Function-body diff: an expected function with no catalog entry is missing; a present one whose stored
|
|
279
279
|
// body (from pg_get_functiondef) differs from the code's emitted body is mismatched. A function whose
|
|
280
280
|
// body cannot be extracted (no dollar-quoted body found) is skipped, not flagged.
|
|
281
|
-
function computeFunctionDrift(expected, live) {
|
|
281
|
+
function computeFunctionDrift(expected, live, presenceOnly = false) {
|
|
282
282
|
const liveByName = new Map(live.map(f => [f.name, f]));
|
|
283
283
|
const missingFunctions = [];
|
|
284
284
|
const mismatchedFunctions = [];
|
|
@@ -288,6 +288,8 @@ function computeFunctionDrift(expected, live) {
|
|
|
288
288
|
missingFunctions.push(fn);
|
|
289
289
|
continue;
|
|
290
290
|
}
|
|
291
|
+
if (presenceOnly)
|
|
292
|
+
continue;
|
|
291
293
|
const actualBody = normalizeFunctionBody(extractFunctionBody(found.def));
|
|
292
294
|
if (actualBody && actualBody !== fn.expectedBody) {
|
|
293
295
|
mismatchedFunctions.push({ ...fn, actualBody, actualDefinition: found.def.replace(/\s+/g, ' ').trim() });
|
|
@@ -409,7 +411,7 @@ export function computeSchemaDrift(opts = {}) {
|
|
|
409
411
|
else if (!found.valid) {
|
|
410
412
|
invalid.push({ ...idx, building: building.has(idx.name) });
|
|
411
413
|
}
|
|
412
|
-
else if (idx.keys && found.def) {
|
|
414
|
+
else if (idx.keys && found.def && !opts.indexes?.presenceOnly) {
|
|
413
415
|
// Definition-diff: a present, valid index whose key columns/order or predicate differ from the
|
|
414
416
|
// expected shape. Comparison is on the normalised forms (order-significant, format-insensitive),
|
|
415
417
|
// but the report carries the readable raw text. Only when the key list parses. An unparseable
|
|
@@ -445,7 +447,7 @@ export function computeSchemaDrift(opts = {}) {
|
|
|
445
447
|
.map(i => ({ name: i.name, table: i.table }));
|
|
446
448
|
const liveTables = new Set(opts.tables?.live ?? []);
|
|
447
449
|
const missingTables = (opts.tables?.expected ?? []).filter(t => !liveTables.has(t));
|
|
448
|
-
const { missingFunctions, mismatchedFunctions } = computeFunctionDrift(opts.functions?.expected ?? [], opts.functions?.live ?? []);
|
|
450
|
+
const { missingFunctions, mismatchedFunctions } = computeFunctionDrift(opts.functions?.expected ?? [], opts.functions?.live ?? [], opts.functions?.presenceOnly);
|
|
449
451
|
const columnDrift = opts.columns ? computeColumnDrift(opts.columns.expected, opts.columns.live) : [];
|
|
450
452
|
const constraintDrift = opts.constraints ? computeConstraintDrift(opts.constraints.expected, opts.constraints.live) : [];
|
|
451
453
|
const enumDrift = opts.enum ? computeEnumDrift(opts.enum.name, opts.enum.expected, opts.enum.actual) : null;
|
package/dist/index.d.ts
CHANGED
|
@@ -51,6 +51,7 @@ export declare class PgBoss extends EventEmitter<types.PgBossEventMap> {
|
|
|
51
51
|
retry(name: string, id: string | string[], options?: types.ConnectionOptions): Promise<types.CommandResponse>;
|
|
52
52
|
deleteJob(name: string, id: string | string[], options?: types.ConnectionOptions): Promise<types.CommandResponse>;
|
|
53
53
|
redrive(name: string, options?: types.RedriveOptions): Promise<number>;
|
|
54
|
+
previewRedrive(name: string, options?: types.RedriveFilter): Promise<types.RedrivePreview>;
|
|
54
55
|
deleteQueuedJobs(name: string): Promise<void>;
|
|
55
56
|
deleteStoredJobs(name: string): Promise<void>;
|
|
56
57
|
deleteAllJobs(name?: string): Promise<void>;
|
|
@@ -111,7 +112,7 @@ export declare class PgBoss extends EventEmitter<types.PgBossEventMap> {
|
|
|
111
112
|
}
|
|
112
113
|
export { systemClock, TestClock } from './clock.ts';
|
|
113
114
|
export { CLOCK_OVERRIDE_SETTING, enableClockOverride, disableClockOverride } from './plans.ts';
|
|
114
|
-
export type { BackendProfile, BackendOptions, AttachableClock, Clock, ClockTimer, BamEntry, BamEvent, BamStatusSummary, CommandResponse, CompleteOptions, ConnectionOptions, ConstructorOptions, DatabaseOptions, FetchGroupConcurrencyOptions, DependencyRef, FetchOptions, FindJobsOptions, FlowJob, GroupConcurrencyConfig, GroupOptions, IDatabase as Db, InsertOptions, IndexBloat, IndexBloatOptions, InvalidIndex, Job, JobFetchOptions, JobInsert, JobMatchStrategy, JobOptions, JobPollingOptions, JobResult, JobResultStatus, JobStates, Events, JobWithMetadata, MaintenanceOptions, ManagedIndex, MigrationPartition, AsyncMigrationCommand, MismatchedIndex, ManagedFunction, MismatchedFunction, TableColumnDrift, ConstraintDrift, EnumDrift, OffWorkOptions, PgBossEventMap, PreviewScheduleOptions, Queue, QueueOptions, QueuePolicy, QueueResult, QueueStats, QueueStatsOptions, RedriveOptions, ReindexOptions, Request, Schedule, ScheduleKind, ScheduleOptions, SchedulingOptions, SchemaDriftReport, SendOptions, StopOptions, SuperviseOptions, UpdateOptions, UpdateQueueOptions, UpdateRequest, UpdateResponse, UpsertResponse, Warning, WipData, WorkConcurrencyOptions, WorkerState, WorkHandler, WorkOptions, WorkWithMetadataHandler, WorkHandlerFor, PerJobWorkHandler, PerJobWorkWithMetadataHandler, } from './types.ts';
|
|
115
|
+
export type { BackendProfile, BackendOptions, AttachableClock, Clock, ClockTimer, BamEntry, BamEvent, BamStatusSummary, CommandResponse, CompleteOptions, ConnectionOptions, ConstructorOptions, DatabaseOptions, FetchGroupConcurrencyOptions, DependencyRef, FetchOptions, FindJobsOptions, FlowJob, GroupConcurrencyConfig, GroupOptions, IDatabase as Db, InsertOptions, IndexBloat, IndexBloatOptions, InvalidIndex, Job, JobFetchOptions, JobInsert, JobMatchStrategy, JobOptions, JobPollingOptions, JobResult, JobResultStatus, JobStates, Events, JobWithMetadata, MaintenanceOptions, ManagedIndex, MigrationPartition, AsyncMigrationCommand, MismatchedIndex, ManagedFunction, MismatchedFunction, TableColumnDrift, ConstraintDrift, EnumDrift, OffWorkOptions, PgBossEventMap, PreviewScheduleOptions, Queue, QueueOptions, QueuePolicy, QueueResult, QueueStats, QueueStatsOptions, RedriveFilter, RedriveOptions, RedrivePreview, ReindexOptions, Request, Schedule, ScheduleKind, ScheduleOptions, SchedulingOptions, SchemaDriftReport, SendOptions, StopOptions, SuperviseOptions, UpdateOptions, UpdateQueueOptions, UpdateRequest, UpdateResponse, UpsertResponse, Warning, WipData, WorkConcurrencyOptions, WorkerState, WorkHandler, WorkOptions, WorkWithMetadataHandler, WorkHandlerFor, PerJobWorkHandler, PerJobWorkWithMetadataHandler, } from './types.ts';
|
|
115
116
|
export type { JobSpyInterface, JobSpyState, JobDataSelector, JobSelector, SpyJob, } from './spy.ts';
|
|
116
117
|
export { fromKnex, fromKysely, fromDrizzle, fromPrisma, fromPglite, fromBunSql, } from './adapters/index.ts';
|
|
117
118
|
export type { KnexTransactionLike, KyselyTransactionLike, DrizzleTransactionLike, DrizzleSqlTagLike, PrismaTransactionLike, PGliteLike, BunSqlLike, BunReservedSqlLike, } from './adapters/index.ts';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -336,6 +336,9 @@ export class PgBoss extends EventEmitter {
|
|
|
336
336
|
redrive(name, options) {
|
|
337
337
|
return this.#manager.redrive(name, options);
|
|
338
338
|
}
|
|
339
|
+
previewRedrive(name, options) {
|
|
340
|
+
return this.#manager.previewRedrive(name, options);
|
|
341
|
+
}
|
|
339
342
|
deleteQueuedJobs(name) {
|
|
340
343
|
return this.#manager.deleteQueuedJobs(name);
|
|
341
344
|
}
|
package/dist/manager.d.ts
CHANGED
|
@@ -87,6 +87,7 @@ declare class Manager extends EventEmitter implements types.EventsMixin {
|
|
|
87
87
|
private reinsertFailedJobs;
|
|
88
88
|
deleteJob(name: string, id: string | string[], options?: types.ConnectionOptions): Promise<types.CommandResponse>;
|
|
89
89
|
redrive(name: string, options?: types.RedriveOptions): Promise<number>;
|
|
90
|
+
previewRedrive(name: string, options?: types.RedriveFilter): Promise<types.RedrivePreview>;
|
|
90
91
|
cancel(name: string, id: string | string[], options?: types.ConnectionOptions): Promise<types.CommandResponse>;
|
|
91
92
|
resume(name: string, id: string | string[], options?: types.ConnectionOptions): Promise<types.CommandResponse>;
|
|
92
93
|
restore(name: string, id: string | string[], options?: types.ConnectionOptions): 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;AAGtC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAE7B,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAG7C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAU,KAAK,eAAe,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"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"}
|
package/dist/manager.js
CHANGED
|
@@ -74,7 +74,8 @@ const NUMERIC_METADATA_FIELDS = [
|
|
|
74
74
|
'expireInSeconds',
|
|
75
75
|
'heartbeatSeconds',
|
|
76
76
|
'deleteAfterSeconds',
|
|
77
|
-
'pendingDependencies'
|
|
77
|
+
'pendingDependencies',
|
|
78
|
+
'sourceRetryCount'
|
|
78
79
|
];
|
|
79
80
|
// Queue rows (plans.getQueues) return these integer columns as strings on CockroachDB too.
|
|
80
81
|
const NUMERIC_QUEUE_FIELDS = [
|
|
@@ -1503,18 +1504,9 @@ class Manager extends EventEmitter {
|
|
|
1503
1504
|
throw err;
|
|
1504
1505
|
}
|
|
1505
1506
|
const rows = result?.rows || [];
|
|
1506
|
-
//
|
|
1507
|
-
//
|
|
1508
|
-
|
|
1509
|
-
if (this.config.backend === 'cockroachdb') {
|
|
1510
|
-
for (const row of rows) {
|
|
1511
|
-
for (const field of NUMERIC_METADATA_FIELDS) {
|
|
1512
|
-
if (row[field] !== undefined && row[field] !== null)
|
|
1513
|
-
row[field] = Number(row[field]);
|
|
1514
|
-
}
|
|
1515
|
-
}
|
|
1516
|
-
}
|
|
1517
|
-
return rows;
|
|
1507
|
+
// Even a minimal fetch (JOB_COLUMNS_MIN) returns numeric fields like expireInSeconds and
|
|
1508
|
+
// heartbeatSeconds, so normalize regardless of includeMetadata.
|
|
1509
|
+
return this.#numericJobFields(rows);
|
|
1518
1510
|
}
|
|
1519
1511
|
mapCompletionIdArg(id, funcName) {
|
|
1520
1512
|
const errorMessage = `${funcName}() requires an id`;
|
|
@@ -1697,6 +1689,9 @@ class Manager extends EventEmitter {
|
|
|
1697
1689
|
const createdOn = job.created_on_text ?? job.created_on;
|
|
1698
1690
|
const keepUntil = job.keep_until_text ?? job.keep_until;
|
|
1699
1691
|
const startAfterColumn = job.start_after_text ?? job.start_after;
|
|
1692
|
+
// Dead-letter provenance, carried through so a job in a dead letter queue that fails here
|
|
1693
|
+
// still knows where to be redriven. See failJobsBody for the single-statement path.
|
|
1694
|
+
const sourceCreatedOn = job.source_created_on_text ?? job.source_created_on;
|
|
1700
1695
|
// forceTerminal (perJobResults `deadletter`) skips retries so the job fails terminally and
|
|
1701
1696
|
// routes straight to the dead letter queue below.
|
|
1702
1697
|
const canRetry = !forceTerminal && retryCount < retryLimit;
|
|
@@ -1724,7 +1719,8 @@ class Manager extends EventEmitter {
|
|
|
1724
1719
|
job.singleton_key, singletonOn, job.group_id, job.group_tier, job.expire_seconds,
|
|
1725
1720
|
job.deletion_seconds, createdOn, null, keepUntil, job.policy,
|
|
1726
1721
|
jobOutput, job.dead_letter,
|
|
1727
|
-
null, job.heartbeat_seconds, job.blocked, job.blocking, job.pending_dependencies
|
|
1722
|
+
null, job.heartbeat_seconds, job.blocked, job.blocking, job.pending_dependencies,
|
|
1723
|
+
job.source_name, job.source_id, sourceCreatedOn, job.source_retry_count
|
|
1728
1724
|
]);
|
|
1729
1725
|
// The retry insert can be dropped by ON CONFLICT when the queue policy (e.g. stately,
|
|
1730
1726
|
// singleton, key_strict_fifo) already has a non-terminal job. Mirror the failed_jobs
|
|
@@ -1738,7 +1734,8 @@ class Manager extends EventEmitter {
|
|
|
1738
1734
|
job.singleton_key, singletonOn, job.group_id, job.group_tier, job.expire_seconds,
|
|
1739
1735
|
job.deletion_seconds, createdOn, new Date(this.config.clock.now()), keepUntil, job.policy,
|
|
1740
1736
|
jobOutput, job.dead_letter,
|
|
1741
|
-
null, job.heartbeat_seconds, job.blocked, job.blocking, job.pending_dependencies
|
|
1737
|
+
null, job.heartbeat_seconds, job.blocked, job.blocking, job.pending_dependencies,
|
|
1738
|
+
job.source_name, job.source_id, sourceCreatedOn, job.source_retry_count
|
|
1742
1739
|
]);
|
|
1743
1740
|
// Insert to dead letter queue if failed and has dead_letter configured
|
|
1744
1741
|
if (job.dead_letter) {
|
|
@@ -1760,21 +1757,81 @@ class Manager extends EventEmitter {
|
|
|
1760
1757
|
this.#trackHandlerSettle(options, response);
|
|
1761
1758
|
return response;
|
|
1762
1759
|
}
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
|
|
1760
|
+
// The filter half of redrive and previewRedrive, validated once and in the parameter order
|
|
1761
|
+
// plans.redriveWhere expects ($2 through $6).
|
|
1762
|
+
#redriveFilterValues(options) {
|
|
1763
|
+
const { destination, sourceName, data, createdBefore, ids } = options;
|
|
1766
1764
|
if (destination !== undefined) {
|
|
1767
1765
|
Attorney.assertQueueName(destination);
|
|
1768
1766
|
}
|
|
1769
1767
|
if (sourceName !== undefined) {
|
|
1770
1768
|
Attorney.assertQueueName(sourceName);
|
|
1771
1769
|
}
|
|
1770
|
+
if (data !== undefined) {
|
|
1771
|
+
assert(data !== null && typeof data === 'object' && !Array.isArray(data), 'data must be an object');
|
|
1772
|
+
}
|
|
1773
|
+
if (createdBefore !== undefined) {
|
|
1774
|
+
assert(createdBefore instanceof Date && !Number.isNaN(createdBefore.getTime()), 'createdBefore must be a valid Date');
|
|
1775
|
+
}
|
|
1776
|
+
if (ids !== undefined) {
|
|
1777
|
+
// An empty list would match nothing, which is never what a caller who passed one meant.
|
|
1778
|
+
assert(Array.isArray(ids) && ids.length > 0 && ids.every(id => typeof id === 'string'), 'ids must be a non-empty array of strings');
|
|
1779
|
+
}
|
|
1780
|
+
return [
|
|
1781
|
+
destination ?? null,
|
|
1782
|
+
sourceName ?? null,
|
|
1783
|
+
data !== undefined ? JSON.stringify(data) : null,
|
|
1784
|
+
createdBefore ?? null,
|
|
1785
|
+
ids ?? null
|
|
1786
|
+
];
|
|
1787
|
+
}
|
|
1788
|
+
async redrive(name, options = {}) {
|
|
1789
|
+
Attorney.assertQueueName(name);
|
|
1790
|
+
const { limit = 1000 } = options;
|
|
1791
|
+
const filter = this.#redriveFilterValues(options);
|
|
1772
1792
|
assert(Number.isInteger(limit) && limit >= 1, 'limit must be an integer >= 1');
|
|
1773
1793
|
const db = this.assertDb(options);
|
|
1774
1794
|
const { table } = await this.getQueueCache(name);
|
|
1795
|
+
// CockroachDB rejects the single-statement version (a DELETE and an INSERT on one table), so
|
|
1796
|
+
// the same move runs as three statements in one transaction. See plans.selectRedriveCandidates.
|
|
1797
|
+
if (this.config.noMultiMutationCte) {
|
|
1798
|
+
return this.ensureTransaction(db, async (tx) => {
|
|
1799
|
+
const { rows } = await tx.executeSql(plans.selectRedriveCandidates(this.config.schema, table), [name, ...filter, limit]);
|
|
1800
|
+
if (rows.length === 0)
|
|
1801
|
+
return 0;
|
|
1802
|
+
const ids = rows.map((row) => row.id);
|
|
1803
|
+
const { rows: inserted } = await tx.executeSql(plans.insertRedrivenJobs(this.config.schema, table), [ids, filter[0]]);
|
|
1804
|
+
await tx.executeSql(plans.deleteJobsByIds(this.config.schema, table).text, [ids]);
|
|
1805
|
+
return inserted.length;
|
|
1806
|
+
});
|
|
1807
|
+
}
|
|
1775
1808
|
const sql = plans.redriveJobs(this.config.schema, table);
|
|
1776
|
-
const result = await db.executeSql(sql, [name,
|
|
1777
|
-
return result.rows[0].moved;
|
|
1809
|
+
const result = await db.executeSql(sql, [name, ...filter, limit]);
|
|
1810
|
+
return Number(result.rows[0].moved);
|
|
1811
|
+
}
|
|
1812
|
+
async previewRedrive(name, options = {}) {
|
|
1813
|
+
Attorney.assertQueueName(name);
|
|
1814
|
+
const filter = this.#redriveFilterValues(options);
|
|
1815
|
+
const db = this.assertDb(options);
|
|
1816
|
+
const { table } = await this.getQueueCache(name);
|
|
1817
|
+
const sql = plans.previewRedrive(this.config.schema, table);
|
|
1818
|
+
const { rows } = await db.executeSql(sql, [name, ...filter]);
|
|
1819
|
+
const destinations = [];
|
|
1820
|
+
let unroutable = 0;
|
|
1821
|
+
for (const row of rows) {
|
|
1822
|
+
// CockroachDB returns counts as strings.
|
|
1823
|
+
const count = Number(row.count);
|
|
1824
|
+
if (row.routable)
|
|
1825
|
+
destinations.push({ name: row.destination, count });
|
|
1826
|
+
else
|
|
1827
|
+
unroutable += count;
|
|
1828
|
+
}
|
|
1829
|
+
destinations.sort((a, b) => b.count - a.count || a.name.localeCompare(b.name));
|
|
1830
|
+
return {
|
|
1831
|
+
total: destinations.reduce((sum, d) => sum + d.count, unroutable),
|
|
1832
|
+
destinations,
|
|
1833
|
+
unroutable
|
|
1834
|
+
};
|
|
1778
1835
|
}
|
|
1779
1836
|
async cancel(name, id, options = {}) {
|
|
1780
1837
|
Attorney.assertQueueName(name);
|
|
@@ -2037,16 +2094,7 @@ class Manager extends EventEmitter {
|
|
|
2037
2094
|
const sql = plans.getJobById(this.config.schema, table);
|
|
2038
2095
|
const result1 = await db.executeSql(sql, [name, id]);
|
|
2039
2096
|
if (result1?.rows?.length === 1) {
|
|
2040
|
-
|
|
2041
|
-
// CockroachDB returns integer columns as strings; normalize the numeric
|
|
2042
|
-
// metadata fields so callers get numbers regardless of the backend.
|
|
2043
|
-
if (this.config.backend === 'cockroachdb') {
|
|
2044
|
-
for (const field of NUMERIC_METADATA_FIELDS) {
|
|
2045
|
-
if (row[field] !== undefined && row[field] !== null)
|
|
2046
|
-
row[field] = Number(row[field]);
|
|
2047
|
-
}
|
|
2048
|
-
}
|
|
2049
|
-
return row;
|
|
2097
|
+
return this.#numericJobFields(result1.rows)[0];
|
|
2050
2098
|
}
|
|
2051
2099
|
else {
|
|
2052
2100
|
return null;
|
|
@@ -2071,7 +2119,21 @@ class Manager extends EventEmitter {
|
|
|
2071
2119
|
if (data !== undefined)
|
|
2072
2120
|
values.push(JSON.stringify(data));
|
|
2073
2121
|
const result = await db.executeSql(sql, values);
|
|
2074
|
-
return result?.rows || [];
|
|
2122
|
+
return this.#numericJobFields(result?.rows || []);
|
|
2123
|
+
}
|
|
2124
|
+
// CockroachDB returns integer columns (INT8) as strings. Every read that hands job rows to a
|
|
2125
|
+
// caller comes through here, so a caller gets numbers whatever the backend. The columns are
|
|
2126
|
+
// aliased to camelCase, so these are the aliased keys.
|
|
2127
|
+
#numericJobFields(rows) {
|
|
2128
|
+
if (this.config.backend !== 'cockroachdb')
|
|
2129
|
+
return rows;
|
|
2130
|
+
for (const row of rows) {
|
|
2131
|
+
for (const field of NUMERIC_METADATA_FIELDS) {
|
|
2132
|
+
if (row[field] !== undefined && row[field] !== null)
|
|
2133
|
+
row[field] = Number(row[field]);
|
|
2134
|
+
}
|
|
2135
|
+
}
|
|
2136
|
+
return rows;
|
|
2075
2137
|
}
|
|
2076
2138
|
async getDependencies(name, id, options = {}) {
|
|
2077
2139
|
Attorney.assertQueueName(name);
|
package/dist/plans.d.ts
CHANGED
|
@@ -71,7 +71,10 @@ interface CreateOptions {
|
|
|
71
71
|
noDeferrableConstraints?: boolean;
|
|
72
72
|
noAdvisoryLocks?: boolean;
|
|
73
73
|
noCoveringIndexes?: boolean;
|
|
74
|
+
inlineTableIndexes?: boolean;
|
|
74
75
|
}
|
|
76
|
+
export declare const SERVER_VERSION = "SELECT version() AS version";
|
|
77
|
+
export declare function inlineIntoCreateTable(createTable: string, statements: string[]): string;
|
|
75
78
|
export declare function create(schema: string, version: number, options?: CreateOptions): string;
|
|
76
79
|
export declare const CLOCK_FUNCTION_BODY = "SELECT pg_catalog.now();";
|
|
77
80
|
export declare const CLOCK_OVERRIDE_SETTING = "pgboss.test_clock";
|
|
@@ -226,6 +229,9 @@ export declare function clearBlocking(schema: string): string;
|
|
|
226
229
|
export declare function insertRetryJob(schema: string, table: string): string;
|
|
227
230
|
export declare function insertDeadLetterJob(schema: string): string;
|
|
228
231
|
export declare function redriveJobs(schema: string, table: string): string;
|
|
232
|
+
export declare function selectRedriveCandidates(schema: string, table: string): string;
|
|
233
|
+
export declare function insertRedrivenJobs(schema: string, table: string): string;
|
|
234
|
+
export declare function previewRedrive(schema: string, table: string): string;
|
|
229
235
|
export declare function deletion(schema: string, table: string, queues: string[], noAdvisoryLocks?: boolean): string;
|
|
230
236
|
export declare function retryJobs(schema: string, table: string): string;
|
|
231
237
|
export declare function updateJob(schema: string, table: string, name: string, by: 'id' | 'singletonKey', match: JobMatchStrategy, notify?: boolean): string;
|