pipework 0.279.0 → 0.281.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/CHANGELOG.md +8 -0
- package/REFERENCE.md +1 -0
- package/dist/async/jobs/claims.d.ts +15 -1
- package/dist/async/jobs/claims.d.ts.map +1 -1
- package/dist/async/jobs/claims.js.map +1 -1
- package/dist/async/jobs/index.d.ts +1 -1
- package/dist/async/jobs/index.d.ts.map +1 -1
- package/dist/async/jobs/queue.d.ts +28 -8
- package/dist/async/jobs/queue.d.ts.map +1 -1
- package/dist/async/jobs/queue.js +71 -9
- package/dist/async/jobs/queue.js.map +1 -1
- package/dist/async/jobs/serialize-error.d.ts +2 -0
- package/dist/async/jobs/serialize-error.d.ts.map +1 -1
- package/dist/async/jobs/serialize-error.js +5 -4
- package/dist/async/jobs/serialize-error.js.map +1 -1
- package/dist/cli/commands/migrate.d.ts +4 -0
- package/dist/cli/commands/migrate.d.ts.map +1 -1
- package/dist/cli/commands/migrate.js +17 -2
- package/dist/cli/commands/migrate.js.map +1 -1
- package/dist/data/migrate/apply.d.ts +13 -0
- package/dist/data/migrate/apply.d.ts.map +1 -1
- package/dist/data/migrate/apply.js +28 -3
- package/dist/data/migrate/apply.js.map +1 -1
- package/dist/data/migrate/run.d.ts +12 -1
- package/dist/data/migrate/run.d.ts.map +1 -1
- package/dist/data/migrate/run.js +8 -1
- package/dist/data/migrate/run.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/async/jobs/claims.ts +11 -1
- package/src/async/jobs/index.ts +1 -1
- package/src/async/jobs/queue.ts +100 -15
- package/src/async/jobs/serialize-error.ts +5 -4
- package/src/cli/commands/migrate.ts +18 -3
- package/src/data/migrate/apply.ts +38 -3
- package/src/data/migrate/run.ts +22 -3
- package/src/index.ts +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { info, success, error as logError, warn } from '../output.js';
|
|
1
|
+
import { info, success, error as logError, warn, yellow, cyan } from '../output.js';
|
|
2
2
|
import { frameworkTablesChanged } from '../../data/migrate/provision-framework.js';
|
|
3
3
|
export async function migrate(options) {
|
|
4
4
|
const { discoverInstance, findConfig } = await import('../../core/config/discover.js');
|
|
@@ -24,7 +24,7 @@ export async function migrate(options) {
|
|
|
24
24
|
if (instance.config.environment === 'production') {
|
|
25
25
|
warn('Running migrations against PRODUCTION database.');
|
|
26
26
|
}
|
|
27
|
-
const migrateOptions = {};
|
|
27
|
+
const migrateOptions = { onNotice: printNotice };
|
|
28
28
|
try {
|
|
29
29
|
if (options.db !== undefined) {
|
|
30
30
|
info(`Migrating database: ${options.db}`);
|
|
@@ -100,4 +100,19 @@ function reportFrameworkTables(result) {
|
|
|
100
100
|
`columns added ${f.columnsAdded.length === 0 ? 'none' : f.columnsAdded.join(', ')}; ` +
|
|
101
101
|
`${f.partitionsCreated.length} day partitions created`);
|
|
102
102
|
}
|
|
103
|
+
/** One notice or warning a migration statement raised, indented under its database. Issue #970. */
|
|
104
|
+
export function formatNotice(n) {
|
|
105
|
+
const label = n.severity === 'NOTICE' || n.severity === 'INFO' || n.severity === 'LOG' || n.severity === 'DEBUG'
|
|
106
|
+
? cyan(n.severity)
|
|
107
|
+
: yellow(n.severity);
|
|
108
|
+
let out = ` ${label} ${n.tag} (statement ${n.statement}/${n.statements}): ${n.message}\n`;
|
|
109
|
+
if (n.detail !== undefined)
|
|
110
|
+
out += ` DETAIL: ${n.detail}\n`;
|
|
111
|
+
if (n.hint !== undefined)
|
|
112
|
+
out += ` HINT: ${n.hint}\n`;
|
|
113
|
+
return out;
|
|
114
|
+
}
|
|
115
|
+
export function printNotice(n) {
|
|
116
|
+
process.stderr.write(formatNotice(n));
|
|
117
|
+
}
|
|
103
118
|
//# sourceMappingURL=migrate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/cli/commands/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/cli/commands/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAEnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAA;AAUlF,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAA8B;IAC1D,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAA;IACtF,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAA;IAClG,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAA;IAEzE,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;QACrC,QAAQ,CACN,2DAA2D;YAC3D,wCAAwC,CACzC,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC7C,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,QAAQ,CAAC,SAAS,CAAC,CAAA;QACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAEpD,IAAI,QAAQ,CAAC,MAAM,CAAC,WAAW,KAAK,YAAY,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC7E,QAAQ,CACN,iEAAiE;YACjE,oFAAoF;YACpF,qCAAqC,CACtC,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,CAAC,WAAW,KAAK,YAAY,EAAE,CAAC;QACjD,IAAI,CAAC,iDAAiD,CAAC,CAAA;IACzD,CAAC;IAED,MAAM,cAAc,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAA;IAEhD,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,uBAAuB,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;YACzC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAA;YAC/F,aAAa,CAAC,MAAM,CAAC,CAAA;YACrB,qBAAqB,CAAC,MAAM,CAAC,CAAA;YAC7B,OAAO,CAAC,GAAG,OAAO,CAAC,EAAE,KAAK,MAAM,CAAC,aAAa,qBAAqB,CAAC,CAAA;QACtE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,4BAA4B,CAAC,CAAA;YAClC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;YAC1D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,aAAa,CAAC,MAAM,CAAC,CAAA;gBACrB,qBAAqB,CAAC,MAAM,CAAC,CAAA;gBAC7B,OAAO,CAAC,GAAG,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,aAAa,qBAAqB,CAAC,CAAA;YAC3E,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,oBAAoB,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAC3C,QAAQ,CAAC,MAAM,CAAC,CAAA;YAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;YAAS,CAAC;QACT,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAA;IAChC,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAGlC;IACC,MAAM,IAAI,GAAG;QACX,OAAO,CAAC,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI;QAChE,OAAO,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI;KAC/D,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAA;IAExC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAElC,OAAO,CACL,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,0BAA0B;QACjF,qEAAqE;QACrE,uEAAuE;QACvE,wEAAwE;QACxE,uBAAuB;QACvB,uEAAuE;QACvE,gEAAgE;QAChE,sCAAsC;QACtC,2CAA2C,CAC5C,CAAA;AACH,CAAC;AAED,8EAA8E;AAC9E,8EAA8E;AAC9E,SAAS,aAAa,CAAC,MAAqB;IAC1C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,CACF,GAAG,MAAM,CAAC,QAAQ,cAAc,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,aAAa,MAAM;YAC9E,GAAG,CAAC,CAAC,eAAe,qCAAqC,CAC1D,CAAA;IACH,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAqB;IAClD,MAAM,CAAC,GAAG,MAAM,CAAC,eAAe,CAAA;IAChC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAAE,OAAM;IACtC,IAAI,CACF,GAAG,MAAM,CAAC,QAAQ,8BAA8B,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QAC1G,iBAAiB,CAAC,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QACrF,GAAG,CAAC,CAAC,iBAAiB,CAAC,MAAM,yBAAyB,CACvD,CAAA;AACH,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,YAAY,CAAC,CAAgB;IAC3C,MAAM,KAAK,GAAG,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,CAAC,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,QAAQ,KAAK,OAAO;QAC9G,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;QAClB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACtB,IAAI,GAAG,GAAG,KAAK,KAAK,KAAK,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,OAAO,IAAI,CAAA;IAC3F,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;QAAE,GAAG,IAAI,eAAe,CAAC,CAAC,MAAM,IAAI,CAAA;IAC9D,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;QAAE,GAAG,IAAI,aAAa,CAAC,CAAC,IAAI,IAAI,CAAA;IACxD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,CAAgB;IAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;AACvC,CAAC"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
/** A NOTICE or WARNING (or other non-error message) a migration statement raised. */
|
|
2
|
+
export interface MigrationNotice {
|
|
3
|
+
severity: string;
|
|
4
|
+
message: string;
|
|
5
|
+
detail?: string;
|
|
6
|
+
hint?: string;
|
|
7
|
+
}
|
|
1
8
|
export interface ApplyOptions {
|
|
2
9
|
migrationsFolder: string;
|
|
3
10
|
migrationsTable: string;
|
|
@@ -35,6 +42,12 @@ export interface ApplyOptions {
|
|
|
35
42
|
* Issue #378.
|
|
36
43
|
*/
|
|
37
44
|
onResume?: (tag: string, fromStatement: number, total: number) => void;
|
|
45
|
+
/**
|
|
46
|
+
* Called for each notice or warning a migration file's own statement raises,
|
|
47
|
+
* with the file's tag, the 1-based statement and the file's statement count.
|
|
48
|
+
* The runner's own bookkeeping statements never reach it. Issue #970.
|
|
49
|
+
*/
|
|
50
|
+
onNotice?: (tag: string, statement: number, statements: number, notice: MigrationNotice) => void;
|
|
38
51
|
}
|
|
39
52
|
export interface Migration {
|
|
40
53
|
tag: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../../src/data/migrate/apply.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,YAAY;IAC3B,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjE;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACxG;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../../src/data/migrate/apply.ts"],"names":[],"mappings":"AASA,qFAAqF;AACrF,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjE;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACxG;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACtE;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,KAAK,IAAI,CAAA;CACjG;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,gGAAgG;IAChG,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,aAAa,EAAE,OAAO,CAAA;CACvB;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAkK5E;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,YAAY,GAAG,SAAS,EAAE,CA8BjE;AAeD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAErD;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,EACpD,eAAe,EAAE,MAAM,GACtB,MAAM,CAiBR;AAMD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD"}
|
|
@@ -9,7 +9,32 @@ export async function applyMigrations(options) {
|
|
|
9
9
|
const migrations = readMigrations(options);
|
|
10
10
|
if (migrations.length === 0)
|
|
11
11
|
return 0;
|
|
12
|
-
|
|
12
|
+
// Set only while a statement from a migration file runs; the runner's own
|
|
13
|
+
// bookkeeping raises "already exists, skipping" notices that are not the
|
|
14
|
+
// migration's and are dropped.
|
|
15
|
+
let current;
|
|
16
|
+
const client = postgres(options.connectionUrl, {
|
|
17
|
+
max: 1,
|
|
18
|
+
onnotice: (n) => {
|
|
19
|
+
if (current === undefined || options.onNotice === undefined)
|
|
20
|
+
return;
|
|
21
|
+
const notice = { severity: String(n['severity']), message: String(n['message']) };
|
|
22
|
+
if (typeof n['detail'] === 'string')
|
|
23
|
+
notice.detail = n['detail'];
|
|
24
|
+
if (typeof n['hint'] === 'string')
|
|
25
|
+
notice.hint = n['hint'];
|
|
26
|
+
options.onNotice(current.tag, current.statement, current.statements, notice);
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
const inStatement = async (tag, statement, statements, run) => {
|
|
30
|
+
current = { tag, statement, statements };
|
|
31
|
+
try {
|
|
32
|
+
return await run();
|
|
33
|
+
}
|
|
34
|
+
finally {
|
|
35
|
+
current = undefined;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
13
38
|
try {
|
|
14
39
|
const table = quoteIdent(options.migrationsTable);
|
|
15
40
|
const prepared = (detail) => options.onPrepare?.(detail);
|
|
@@ -89,7 +114,7 @@ export async function applyMigrations(options) {
|
|
|
89
114
|
if (from > 0)
|
|
90
115
|
options.onResume?.(migration.tag, from + 1, migration.statements.length);
|
|
91
116
|
for (let i = from; i < migration.statements.length; i++) {
|
|
92
|
-
await client.unsafe(migration.statements[i]);
|
|
117
|
+
await inStatement(migration.tag, i + 1, migration.statements.length, () => client.unsafe(migration.statements[i]));
|
|
93
118
|
// Recorded AFTER the statement it describes: marking first would let
|
|
94
119
|
// a death between the mark and the statement skip work silently,
|
|
95
120
|
// which is worse than replaying one statement. The window that
|
|
@@ -105,7 +130,7 @@ export async function applyMigrations(options) {
|
|
|
105
130
|
else {
|
|
106
131
|
await client.begin(async (tx) => {
|
|
107
132
|
for (const [i, stmt] of migration.statements.entries()) {
|
|
108
|
-
await tx.unsafe(stmt);
|
|
133
|
+
await inStatement(migration.tag, i + 1, migration.statements.length, () => tx.unsafe(stmt));
|
|
109
134
|
options.onStatement?.(migration.tag, i + 1, migration.statements.length, applied + 1, migrations.length);
|
|
110
135
|
}
|
|
111
136
|
await tx.unsafe(`INSERT INTO ${table} ("hash", "created_at", "tag") VALUES ($1, $2, $3)`, [migration.hash, migration.folderMillis, migration.tag]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/data/migrate/apply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,QAAQ,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,MAAM,qBAAqB,GAAG,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/data/migrate/apply.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import type { Manifold } from '../../core/pipework.js';
|
|
2
2
|
import type { ResolvedDatabase } from '../../core/config/index.js';
|
|
3
3
|
import { type MigrationCheckResult } from './check.js';
|
|
4
|
+
import { type MigrationNotice } from './apply.js';
|
|
4
5
|
import { type FrameworkTablesResult } from './provision-framework.js';
|
|
5
6
|
export interface MigrateOptions {
|
|
7
|
+
/** Called as each notice or warning a migration statement raises arrives. Issue #970. */
|
|
8
|
+
onNotice?: (notice: MigrateNotice) => void;
|
|
6
9
|
}
|
|
7
10
|
export interface MigrateResult {
|
|
8
11
|
database: string;
|
|
@@ -11,6 +14,8 @@ export interface MigrateResult {
|
|
|
11
14
|
safetyCheck: MigrationCheckResult;
|
|
12
15
|
/** No-transaction files picked up half applied and finished. Issue #378. */
|
|
13
16
|
resumed: ResumedMigration[];
|
|
17
|
+
/** Notices and warnings raised by migration statements, in arrival order. Issue #970. */
|
|
18
|
+
notices: MigrateNotice[];
|
|
14
19
|
/** Trace/audit tables, columns and day partitions this run provisioned. */
|
|
15
20
|
frameworkTables: FrameworkTablesResult;
|
|
16
21
|
}
|
|
@@ -20,11 +25,17 @@ export interface ResumedMigration {
|
|
|
20
25
|
fromStatement: number;
|
|
21
26
|
totalStatements: number;
|
|
22
27
|
}
|
|
28
|
+
export interface MigrateNotice extends MigrationNotice {
|
|
29
|
+
tag: string;
|
|
30
|
+
/** 1-based statement within the file. */
|
|
31
|
+
statement: number;
|
|
32
|
+
statements: number;
|
|
33
|
+
}
|
|
23
34
|
export declare class UnsafeMigrationError extends Error {
|
|
24
35
|
readonly check: MigrationCheckResult;
|
|
25
36
|
readonly name = "UnsafeMigrationError";
|
|
26
37
|
constructor(check: MigrationCheckResult, message: string);
|
|
27
38
|
}
|
|
28
39
|
export declare function migrateAll(instance: Manifold, options?: MigrateOptions): Promise<MigrateResult[]>;
|
|
29
|
-
export declare function migrateOne(instance: Manifold, dbConfig: ResolvedDatabase,
|
|
40
|
+
export declare function migrateOne(instance: Manifold, dbConfig: ResolvedDatabase, options?: MigrateOptions): Promise<MigrateResult>;
|
|
30
41
|
//# sourceMappingURL=run.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/data/migrate/run.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAGlE,OAAO,EAAmB,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/data/migrate/run.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAGlE,OAAO,EAAmB,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEvE,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,YAAY,CAAA;AAClE,OAAO,EAA4B,KAAK,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAM/F,MAAM,WAAW,cAAc;IAC7B,yFAAyF;IACzF,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAA;CAC3C;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,WAAW,EAAE,oBAAoB,CAAA;IACjC,4EAA4E;IAC5E,OAAO,EAAE,gBAAgB,EAAE,CAAA;IAC3B,yFAAyF;IACzF,OAAO,EAAE,aAAa,EAAE,CAAA;IACxB,2EAA2E;IAC3E,eAAe,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,gDAAgD;IAChD,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,aAAc,SAAQ,eAAe;IACpD,GAAG,EAAE,MAAM,CAAA;IACX,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,qBAAa,oBAAqB,SAAQ,KAAK;aAG3B,KAAK,EAAE,oBAAoB;IAF7C,SAAkB,IAAI,0BAAyB;gBAE7B,KAAK,EAAE,oBAAoB,EAC3C,OAAO,EAAE,MAAM;CAIlB;AAED,wBAAsB,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAU3G;AAED,wBAAsB,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAsErI"}
|
package/dist/data/migrate/run.js
CHANGED
|
@@ -23,7 +23,7 @@ export async function migrateAll(instance, options = {}) {
|
|
|
23
23
|
}
|
|
24
24
|
return results;
|
|
25
25
|
}
|
|
26
|
-
export async function migrateOne(instance, dbConfig,
|
|
26
|
+
export async function migrateOne(instance, dbConfig, options = {}) {
|
|
27
27
|
const conn = instance.pool.getOrCreate(dbConfig, 'owner', OWNER_LABEL_MIGRATE);
|
|
28
28
|
// Scope the safety gate to pending migrations only — hazards in already-applied
|
|
29
29
|
// migrations are history, not a decision the operator still gets to make.
|
|
@@ -48,11 +48,17 @@ export async function migrateOne(instance, dbConfig, _options = {}) {
|
|
|
48
48
|
extensionsCreated = [...dbConfig.extensions];
|
|
49
49
|
}
|
|
50
50
|
const resumed = [];
|
|
51
|
+
const notices = [];
|
|
51
52
|
const migrationsRun = await applyMigrations({
|
|
52
53
|
migrationsFolder: dbConfig.migrations,
|
|
53
54
|
migrationsTable: dbConfig.migrationTable,
|
|
54
55
|
connectionUrl: dbConfig.url,
|
|
55
56
|
onResume: (tag, fromStatement, totalStatements) => resumed.push({ tag, fromStatement, totalStatements }),
|
|
57
|
+
onNotice: (tag, statement, statements, notice) => {
|
|
58
|
+
const full = { tag, statement, statements, ...notice };
|
|
59
|
+
notices.push(full);
|
|
60
|
+
options.onNotice?.(full);
|
|
61
|
+
},
|
|
56
62
|
});
|
|
57
63
|
// Trace and audit storage rides the default database; their partitioned
|
|
58
64
|
// tables are kept out of generated migrations (#313), so migrate provisions them.
|
|
@@ -68,6 +74,7 @@ export async function migrateOne(instance, dbConfig, _options = {}) {
|
|
|
68
74
|
extensions: extensionsCreated,
|
|
69
75
|
safetyCheck,
|
|
70
76
|
resumed,
|
|
77
|
+
notices,
|
|
71
78
|
frameworkTables,
|
|
72
79
|
};
|
|
73
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/data/migrate/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAGvC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,eAAe,EAA6B,MAAM,YAAY,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/data/migrate/run.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -55,7 +55,7 @@ export type { AuditChainHead, AuditChainBreak, AuditChainBreakReason, AuditVerif
|
|
|
55
55
|
export { jobs } from './async/jobs/namespace.js';
|
|
56
56
|
export { JobAbortedError, JobLaterError, JobPermanentError } from './async/jobs/index.js';
|
|
57
57
|
export { serializeError } from './async/jobs/serialize-error.js';
|
|
58
|
-
export type { ExecuteJobOptions, Queue, QueueConfig, EnqueueOptions, ClaimedJob, JobClaim, JobClaimReason, ReapedJob, FailedAttempt, QueueTotals, QueueTypeTotals, JobResult, BackoffConfig, WaitOptions, WaitResult, ListenClient, ListenHandle, CronSchedule, ScheduleSpec, ScheduleInfo, SchedulerOptions } from './async/jobs/index.js';
|
|
58
|
+
export type { ExecuteJobOptions, Queue, QueueConfig, EnqueueOptions, ClaimedJob, JobClaim, JobClaimReason, ReapedJob, FailedAttempt, FailOptions, QueueTotals, QueueTypeTotals, JobResult, BackoffConfig, WaitOptions, WaitResult, ListenClient, ListenHandle, CronSchedule, ScheduleSpec, ScheduleInfo, SchedulerOptions } from './async/jobs/index.js';
|
|
59
59
|
export { steps } from './async/steps/namespace.js';
|
|
60
60
|
export type { GraphConfig, GraphStepDefinition, GraphStepContext, GraphForEachContext, GraphRunInfo, GraphFailure, GraphRunStatus, RequestOptions as StepRequestOptions, RequestResult as StepRequestResult, PlanOptions as StepPlanOptions, PlanResult as StepPlanResult, StepPlan, StepCounts, TaskState as StepTaskState, RunTask as StepRunTask, RunStatus as StepRunStatus, EndedRun as StepEndedRun, EndedRunsOptions as StepEndedRunsOptions, DecideOptions as StepDecideOptions, StepResultRecord, RemoveItemOptions as StepRemoveItemOptions, RemoveItemResult as StepRemoveItemResult, StepGraph, GraphSelection } from './async/steps/index.js';
|
|
61
61
|
export { StepItemRunningError } from './async/steps/index.js';
|
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/package.json
CHANGED
package/src/async/jobs/claims.ts
CHANGED
|
@@ -9,7 +9,12 @@ import type { SQL } from '../../data/db/index.js'
|
|
|
9
9
|
|
|
10
10
|
export type JobClaimReason = 'completed' | 'failed' | 'shutdown-returned' | 'reaped-stale' | 'later' | 'cancelled'
|
|
11
11
|
|
|
12
|
-
/**
|
|
12
|
+
/**
|
|
13
|
+
* One claim of a job. `releasedAt`, `reason` and `progressMark` are null while the claim is held.
|
|
14
|
+
* A failed claim may also carry keys its caller added through `fail(..., { claim })`, such as `errorClass`; they read
|
|
15
|
+
* as `unknown` through a cast (`(claim as Record<string, unknown>)['errorClass']`), since an index signature here
|
|
16
|
+
* would loosen every typed field.
|
|
17
|
+
*/
|
|
13
18
|
export interface JobClaim {
|
|
14
19
|
readonly claimedAt: string
|
|
15
20
|
readonly workerId: string
|
|
@@ -20,6 +25,11 @@ export interface JobClaim {
|
|
|
20
25
|
readonly progressMark: unknown
|
|
21
26
|
/** Why a cancelled claim was cancelled; set only when `reason` is 'cancelled'. */
|
|
22
27
|
readonly cancel?: { readonly reason: string; readonly message: string }
|
|
28
|
+
/**
|
|
29
|
+
* Why the attempt failed (`fail`/`failAttempt`, including a superseded one). `message` is cut to the queue's
|
|
30
|
+
* `claimErrorMessageMaxChars`; `code` is the error's own string `code`, else the nearest one on its `cause` chain.
|
|
31
|
+
*/
|
|
32
|
+
readonly error?: { readonly name: string; readonly message: string; readonly code?: string }
|
|
23
33
|
}
|
|
24
34
|
|
|
25
35
|
/** The SET fragment that appends the claim being made. */
|
package/src/async/jobs/index.ts
CHANGED
|
@@ -2,7 +2,7 @@ export { executeJob } from './execute.js'
|
|
|
2
2
|
export type { ExecuteJobOptions } from './execute.js'
|
|
3
3
|
export { JobAbortedError, JobLaterError, JobPermanentError } from './errors.js'
|
|
4
4
|
export { createQueue } from './queue.js'
|
|
5
|
-
export type { Queue, QueueConfig, EnqueueOptions, EnqueueExclusion, ClaimedJob, JobClaim, JobClaimReason, ClaimedExclusion, DeadLetterInfo, ReapedJob, FailedAttempt, QueueTotals, QueueTypeTotals, JobResult, BackoffConfig } from './queue.js'
|
|
5
|
+
export type { Queue, QueueConfig, EnqueueOptions, EnqueueExclusion, ClaimedJob, JobClaim, JobClaimReason, ClaimedExclusion, DeadLetterInfo, ReapedJob, FailedAttempt, FailOptions, QueueTotals, QueueTypeTotals, JobResult, BackoffConfig } from './queue.js'
|
|
6
6
|
export type { ExclusionConfig } from './exclusion.js'
|
|
7
7
|
export type { WaitOptions, WaitResult, ListenClient, ListenHandle } from './listener.js'
|
|
8
8
|
export { parseCron, nextTick } from './cron.js'
|
package/src/async/jobs/queue.ts
CHANGED
|
@@ -13,7 +13,7 @@ import type { ExclusionConfig } from './exclusion.js'
|
|
|
13
13
|
import type { JobLaterError } from './errors.js'
|
|
14
14
|
import { openClaim, closeClaim, parseClaims } from './claims.js'
|
|
15
15
|
import type { JobClaim, JobClaimReason } from './claims.js'
|
|
16
|
-
import { serializeError } from './serialize-error.js'
|
|
16
|
+
import { serializeError, cutText } from './serialize-error.js'
|
|
17
17
|
import { queueDefinition, registerProgressColumn, liveKeyIndexName, LIVE_KEY_TENANT_EXPR, LIVE_KEY_PREDICATE, pendingKeyIndexName, PENDING_KEY_TENANT_EXPR, PENDING_KEY_PREDICATE } from './table.js'
|
|
18
18
|
import { queueDoorName } from './queue-door.js'
|
|
19
19
|
import { unscopedExecutor, requireUnscopedExecutor } from '../../auth/tenant/scoped-db.js'
|
|
@@ -39,6 +39,11 @@ export interface QueueConfig {
|
|
|
39
39
|
readonly backoff?: BackoffConfig
|
|
40
40
|
/** An app-added column on the queue table whose value is recorded as each claim's `progressMark` when the claim is released. */
|
|
41
41
|
readonly progressColumn?: string
|
|
42
|
+
/**
|
|
43
|
+
* The most characters of a failed attempt's error message a claim keeps in its `claims` history; longer messages end
|
|
44
|
+
* `…[truncated N chars]`. A positive integer; default 500. The full serialized error stays in `error_payload`.
|
|
45
|
+
*/
|
|
46
|
+
readonly claimErrorMessageMaxChars?: number
|
|
42
47
|
/** Cross-job exclusion gate — overlap/blocks-all/tenant columns checked against claimed/running jobs at claim time. */
|
|
43
48
|
readonly exclusion?: ExclusionConfig
|
|
44
49
|
}
|
|
@@ -158,6 +163,22 @@ export interface ReapedJob {
|
|
|
158
163
|
readonly flow: ClaimedFlow
|
|
159
164
|
}
|
|
160
165
|
|
|
166
|
+
/** Claim keys the queue owns; `FailOptions.claim` may not set them. */
|
|
167
|
+
const RESERVED_CLAIM_KEYS = [
|
|
168
|
+
'claimedAt', 'workerId', 'workerRelease', 'releasedAt', 'reason', 'progressMark', 'error', 'cancel',
|
|
169
|
+
] as const
|
|
170
|
+
|
|
171
|
+
/** Options of `fail` / `failAttempt`. */
|
|
172
|
+
export interface FailOptions {
|
|
173
|
+
/** Dead-letter now, whatever attempts remain. */
|
|
174
|
+
readonly permanent?: boolean
|
|
175
|
+
/**
|
|
176
|
+
* A small JSON object merged into the closed claim (for example `{ errorClass: 'connection-fault' }`), the way `cancel`
|
|
177
|
+
* adds `cancel`. It may not set claimedAt, workerId, workerRelease, releasedAt, reason, progressMark, error or cancel.
|
|
178
|
+
*/
|
|
179
|
+
readonly claim?: Readonly<Record<string, unknown>>
|
|
180
|
+
}
|
|
181
|
+
|
|
161
182
|
/** What `failAttempt` did: `outcome` and the error as stored in the row's `error_payload`. */
|
|
162
183
|
export interface FailedAttempt {
|
|
163
184
|
readonly outcome: 'retry' | 'dead_letter' | 'superseded'
|
|
@@ -202,10 +223,19 @@ export interface Queue {
|
|
|
202
223
|
*/
|
|
203
224
|
heartbeat(db: DB, jobId: string, claimToken?: string): Promise<boolean>
|
|
204
225
|
complete(db: DB, jobId: string, output?: unknown, claimToken?: string): Promise<boolean>
|
|
205
|
-
/**
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
226
|
+
/**
|
|
227
|
+
* Counts the attempt as failed: retried with backoff while attempts remain, dead-lettered after. One transaction, row locked.
|
|
228
|
+
* The closed claim keeps the cause as `error: { name, message, code? }` (message cut to `claimErrorMessageMaxChars`;
|
|
229
|
+
* `code` is the error's own string `code`, else the nearest one on its `cause` chain), and `opts.claim` merged in,
|
|
230
|
+
* so the claims history says why each attempt failed even after `error_payload` is overwritten.
|
|
231
|
+
*/
|
|
232
|
+
fail(db: DB, jobId: string, error: unknown, claimToken?: string, opts?: FailOptions): Promise<boolean>
|
|
233
|
+
/**
|
|
234
|
+
* `fail` that says what it did: null when the claim no longer holds the row, else the outcome and the stored error.
|
|
235
|
+
* A failed attempt whose return to pending is superseded by a pendingKey twin closes its claim 'cancelled' with both
|
|
236
|
+
* `cancel` and the attempt's `error`.
|
|
237
|
+
*/
|
|
238
|
+
failAttempt(db: DB, jobId: string, error: unknown, claimToken?: string, opts?: FailOptions): Promise<FailedAttempt | null>
|
|
209
239
|
/** Returns a claimed job to pending after the error's `delayMs` (else the backoff, at least 1 s) without counting the attempt. False when the claim no longer holds the row. */
|
|
210
240
|
later(db: DB, jobId: string, error: JobLaterError, claimToken: string): Promise<boolean>
|
|
211
241
|
/** Returns a claimed job to pending without counting the attempt. False when the claim no longer holds the row. */
|
|
@@ -291,6 +321,13 @@ export function createQueue(config: QueueConfig = {}): Queue {
|
|
|
291
321
|
const channel = config.notifyChannel ?? 'pipework_job_complete'
|
|
292
322
|
const maxAttempts = config.maxAttempts ?? 1
|
|
293
323
|
const backoff = config.backoff
|
|
324
|
+
const claimErrorMaxChars = config.claimErrorMessageMaxChars ?? 500
|
|
325
|
+
if (!Number.isInteger(claimErrorMaxChars) || claimErrorMaxChars < 1) {
|
|
326
|
+
throw new Error(
|
|
327
|
+
`[pipework] createQueue() received claimErrorMessageMaxChars ${String(config.claimErrorMessageMaxChars)} for queue "${config.table ?? 'pipework_jobs'}".\n\n` +
|
|
328
|
+
` It must be a positive integer (the most characters of an error message a claim keeps).`
|
|
329
|
+
)
|
|
330
|
+
}
|
|
294
331
|
|
|
295
332
|
assertValidIdentifier(table, 'queue table')
|
|
296
333
|
assertValidIdentifier(channel, 'notify channel')
|
|
@@ -664,10 +701,12 @@ export function createQueue(config: QueueConfig = {}): Queue {
|
|
|
664
701
|
* The SET fragments that put a claimed job back to pending — unless a newer pending job holds its
|
|
665
702
|
* pendingKey, in which case the job is cancelled instead (claim closed as 'cancelled' with `cancel`
|
|
666
703
|
* `{ reason: 'superseded', message }`, error_payload `{ reason: 'superseded', by: <twin id> }`), so the twin with the newer payload is the one that runs.
|
|
704
|
+
* `claimExtra` (a jsonb object SQL: the attempt's `error` and caller keys) is merged into the closed claim on
|
|
705
|
+
* both branches, so a superseded attempt keeps its cause beside `cancel`.
|
|
667
706
|
* Decided inside the UPDATE, from the row as it is when the statement runs. Callers must hold
|
|
668
707
|
* `lockPendingKeyOf` for the row first, in the same transaction, so a racing enqueue cannot add a twin unseen.
|
|
669
708
|
*/
|
|
670
|
-
function returnToPending(reason: JobClaimReason, errorPayload: SQL): SQL {
|
|
709
|
+
function returnToPending(reason: JobClaimReason, errorPayload: SQL, claimExtra?: SQL): SQL {
|
|
671
710
|
const twinId = sql`(SELECT twin.id::text FROM ${sql.raw(tableQ)} AS twin
|
|
672
711
|
WHERE twin.pending_key = ${sql.raw(tableQ)}.pending_key
|
|
673
712
|
AND coalesce(twin.flow_tenant, '') = coalesce(${sql.raw(tableQ)}.flow_tenant, '')
|
|
@@ -677,7 +716,7 @@ export function createQueue(config: QueueConfig = {}): Queue {
|
|
|
677
716
|
const supersededClaim = sql`CASE WHEN ${superseded}
|
|
678
717
|
THEN jsonb_build_object('cancel', jsonb_build_object('reason', 'superseded', 'message', 'superseded by ' || ${twinId}))
|
|
679
718
|
ELSE '{}'::jsonb END`
|
|
680
|
-
return sql`${closeClaim(sql`CASE WHEN ${superseded} THEN 'cancelled' ELSE ${reason}::text END`, progressQ, supersededClaim)},
|
|
719
|
+
return sql`${closeClaim(sql`CASE WHEN ${superseded} THEN 'cancelled' ELSE ${reason}::text END`, progressQ, claimExtra === undefined ? supersededClaim : sql`${supersededClaim} || ${claimExtra}`)},
|
|
681
720
|
status = CASE WHEN ${superseded} THEN 'cancelled' ELSE 'pending' END,
|
|
682
721
|
completed_at = CASE WHEN ${superseded} THEN now() ELSE completed_at END,
|
|
683
722
|
error_payload = CASE WHEN ${superseded} THEN jsonb_build_object('reason', 'superseded', 'by', ${twinId}) ELSE ${errorPayload} END`
|
|
@@ -696,10 +735,11 @@ export function createQueue(config: QueueConfig = {}): Queue {
|
|
|
696
735
|
* the caller's transaction. Shared by fail and reap so the two cannot drift.
|
|
697
736
|
*/
|
|
698
737
|
async function retryOrDeadLetter(
|
|
699
|
-
tx: DB, job: JobRow, errorJson: string, reason: 'failed' | 'reaped-stale', permanent = false,
|
|
738
|
+
tx: DB, job: JobRow, errorJson: string, reason: 'failed' | 'reaped-stale', claimKeys: Readonly<Record<string, unknown>>, permanent = false,
|
|
700
739
|
): Promise<'retry' | 'dead_letter' | 'superseded'> {
|
|
701
740
|
const { jobId, attemptCount, maxAttempts: jobMaxAttempts } = job
|
|
702
741
|
const nextAttempt = attemptCount + 1
|
|
742
|
+
const claimExtra = sql`${JSON.stringify(claimKeys)}::jsonb`
|
|
703
743
|
|
|
704
744
|
if (!permanent && nextAttempt < jobMaxAttempts) {
|
|
705
745
|
const delayMs = calculateDelay(attemptCount)
|
|
@@ -707,7 +747,7 @@ export function createQueue(config: QueueConfig = {}): Queue {
|
|
|
707
747
|
await lockPendingKeyOf(tx, jobId)
|
|
708
748
|
const rows = await tx.execute(
|
|
709
749
|
sql`UPDATE ${sql.raw(tableQ)} SET
|
|
710
|
-
${returnToPending(reason, sql`${errorJson}::jsonb
|
|
750
|
+
${returnToPending(reason, sql`${errorJson}::jsonb`, claimExtra)},
|
|
711
751
|
attempt_count = ${nextAttempt},
|
|
712
752
|
next_retry_at = now() + ${delaySeconds}::interval,
|
|
713
753
|
claimed_at = NULL,
|
|
@@ -721,7 +761,7 @@ export function createQueue(config: QueueConfig = {}): Queue {
|
|
|
721
761
|
}
|
|
722
762
|
await tx.execute(
|
|
723
763
|
sql`UPDATE ${sql.raw(tableQ)} SET
|
|
724
|
-
${closeClaim(reason, progressQ)},
|
|
764
|
+
${closeClaim(reason, progressQ, claimExtra)},
|
|
725
765
|
status = 'dead_letter',
|
|
726
766
|
attempt_count = ${nextAttempt},
|
|
727
767
|
completed_at = now(),
|
|
@@ -747,16 +787,61 @@ export function createQueue(config: QueueConfig = {}): Queue {
|
|
|
747
787
|
return 'dead_letter'
|
|
748
788
|
}
|
|
749
789
|
|
|
750
|
-
|
|
790
|
+
/** The `error` a closed claim keeps, from the serialized error: name, bounded message, and the nearest string `code` on the cause chain. */
|
|
791
|
+
function claimError(serialized: unknown): { name: string; message: string; code?: string } {
|
|
792
|
+
let name = 'NonError'
|
|
793
|
+
let message: string
|
|
794
|
+
if (serialized !== null && typeof serialized === 'object' && typeof (serialized as { name?: unknown }).name === 'string'
|
|
795
|
+
&& typeof (serialized as { message?: unknown }).message === 'string') {
|
|
796
|
+
name = (serialized as { name: string }).name
|
|
797
|
+
message = (serialized as { message: string }).message
|
|
798
|
+
} else if (typeof serialized === 'object' && serialized !== null) {
|
|
799
|
+
message = (() => { try { return JSON.stringify(serialized) } catch { return String(serialized) } })()
|
|
800
|
+
} else {
|
|
801
|
+
message = String(serialized)
|
|
802
|
+
}
|
|
803
|
+
let code: string | undefined
|
|
804
|
+
let at: unknown = serialized
|
|
805
|
+
for (let depth = 0; depth < 32 && at !== null && typeof at === 'object'; depth++) {
|
|
806
|
+
const c = (at as { code?: unknown }).code
|
|
807
|
+
if (typeof c === 'string') { code = c; break }
|
|
808
|
+
at = (at as { cause?: unknown }).cause
|
|
809
|
+
}
|
|
810
|
+
return { name, message: cutText(message, claimErrorMaxChars), ...(code === undefined ? {} : { code }) }
|
|
811
|
+
}
|
|
812
|
+
|
|
813
|
+
/** `fail`'s `claim` option as the keys to merge; refuses a non-object and any key the queue owns. */
|
|
814
|
+
function callerClaim(claim: FailOptions['claim']): Record<string, unknown> {
|
|
815
|
+
if (claim === undefined) return {}
|
|
816
|
+
if ((claim as unknown) === null || typeof claim !== 'object' || Array.isArray(claim)) {
|
|
817
|
+
throw new Error(
|
|
818
|
+
`[pipework] fail() on queue "${table}" received a claim option that is not a plain object.\n\n` +
|
|
819
|
+
` Pass a small JSON object such as { errorClass: 'connection-fault' }.`
|
|
820
|
+
)
|
|
821
|
+
}
|
|
822
|
+
for (const key of RESERVED_CLAIM_KEYS) {
|
|
823
|
+
if (Object.hasOwn(claim, key)) {
|
|
824
|
+
throw new Error(
|
|
825
|
+
`[pipework] fail() on queue "${table}" received claim key "${key}", which the queue sets itself.\n\n` +
|
|
826
|
+
` Reserved keys: ${RESERVED_CLAIM_KEYS.join(', ')}. Use another key name.`
|
|
827
|
+
)
|
|
828
|
+
}
|
|
829
|
+
}
|
|
830
|
+
return { ...claim }
|
|
831
|
+
}
|
|
832
|
+
|
|
833
|
+
async function fail(db: DB, jobId: string, error: unknown, claimToken?: string, opts?: FailOptions): Promise<boolean> {
|
|
751
834
|
crossTenant(db, 'fail')
|
|
752
835
|
return (await failAttempt(db, jobId, error, claimToken, opts)) !== null
|
|
753
836
|
}
|
|
754
837
|
|
|
755
838
|
async function failAttempt(
|
|
756
|
-
handle: DB, jobId: string, error: unknown, claimToken?: string, opts?:
|
|
839
|
+
handle: DB, jobId: string, error: unknown, claimToken?: string, opts?: FailOptions,
|
|
757
840
|
): Promise<FailedAttempt | null> {
|
|
758
841
|
const db = crossTenant(handle, 'failAttempt')
|
|
759
|
-
const
|
|
842
|
+
const serialized = serializeError(error)
|
|
843
|
+
const errorJson = JSON.stringify(serialized)
|
|
844
|
+
const claimKeys = { ...callerClaim(opts?.claim), error: claimError(serialized) }
|
|
760
845
|
|
|
761
846
|
return db.transaction(async (tx) => {
|
|
762
847
|
const jobRows = await tx.execute(
|
|
@@ -776,7 +861,7 @@ export function createQueue(config: QueueConfig = {}): Queue {
|
|
|
776
861
|
attemptCount: job['attempt_count'] as number,
|
|
777
862
|
maxAttempts: job['max_attempts'] as number,
|
|
778
863
|
flow: flowOf(job),
|
|
779
|
-
}, errorJson, 'failed', opts?.permanent === true)
|
|
864
|
+
}, errorJson, 'failed', claimKeys, opts?.permanent === true)
|
|
780
865
|
return { outcome, error: JSON.parse(errorJson) as unknown }
|
|
781
866
|
})
|
|
782
867
|
}
|
|
@@ -919,7 +1004,7 @@ export function createQueue(config: QueueConfig = {}): Queue {
|
|
|
919
1004
|
attemptCount,
|
|
920
1005
|
maxAttempts: jobMaxAttempts,
|
|
921
1006
|
flow: flowOf(row),
|
|
922
|
-
}, errorJson, 'reaped-stale')
|
|
1007
|
+
}, errorJson, 'reaped-stale', {})
|
|
923
1008
|
reaped.push({
|
|
924
1009
|
jobId: id,
|
|
925
1010
|
type: row['job_type'] as string,
|