pg-boss 12.5.4 → 12.7.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/README.md +102 -0
- package/dist/attorney.d.ts.map +1 -1
- package/dist/attorney.js +58 -1
- package/dist/bam.d.ts +14 -0
- package/dist/bam.d.ts.map +1 -0
- package/dist/bam.js +114 -0
- package/dist/boss.d.ts.map +1 -1
- package/dist/boss.js +18 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +333 -0
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +28 -1
- package/dist/manager.d.ts +6 -2
- package/dist/manager.d.ts.map +1 -1
- package/dist/manager.js +244 -51
- package/dist/migrationStore.d.ts.map +1 -1
- package/dist/migrationStore.js +302 -3
- package/dist/plans.d.ts +22 -2
- package/dist/plans.d.ts.map +1 -1
- package/dist/plans.js +377 -64
- package/dist/types.d.ts +74 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/worker.d.ts +2 -0
- package/dist/worker.d.ts.map +1 -1
- package/dist/worker.js +6 -0
- package/package.json +17 -15
package/dist/types.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export type Events = {
|
|
|
11
11
|
warning: 'warning';
|
|
12
12
|
wip: 'wip';
|
|
13
13
|
stopped: 'stopped';
|
|
14
|
+
bam: 'bam';
|
|
14
15
|
};
|
|
15
16
|
export interface IDatabase {
|
|
16
17
|
executeSql(text: string, values?: unknown[]): Promise<{
|
|
@@ -47,13 +48,15 @@ export interface MaintenanceOptions {
|
|
|
47
48
|
maintenanceIntervalSeconds?: number;
|
|
48
49
|
queueCacheIntervalSeconds?: number;
|
|
49
50
|
monitorIntervalSeconds?: number;
|
|
51
|
+
bamIntervalSeconds?: number;
|
|
50
52
|
}
|
|
51
53
|
export interface Migration {
|
|
52
54
|
release: string;
|
|
53
55
|
version: number;
|
|
54
56
|
previous: number;
|
|
55
57
|
install: string[];
|
|
56
|
-
|
|
58
|
+
async?: string[];
|
|
59
|
+
uninstall?: string[];
|
|
57
60
|
}
|
|
58
61
|
export interface ConstructorOptions extends DatabaseOptions, SchedulingOptions, MaintenanceOptions {
|
|
59
62
|
}
|
|
@@ -62,6 +65,7 @@ export interface ResolvedConstructorOptions extends ConstructorOptions {
|
|
|
62
65
|
monitorIntervalSeconds: number;
|
|
63
66
|
cronMonitorIntervalSeconds: number;
|
|
64
67
|
maintenanceIntervalSeconds: number;
|
|
68
|
+
bamIntervalSeconds: number;
|
|
65
69
|
}
|
|
66
70
|
export interface QueueOptions {
|
|
67
71
|
expireInSeconds?: number;
|
|
@@ -72,6 +76,14 @@ export interface QueueOptions {
|
|
|
72
76
|
retryBackoff?: boolean;
|
|
73
77
|
retryDelayMax?: number;
|
|
74
78
|
}
|
|
79
|
+
export interface GroupOptions {
|
|
80
|
+
id: string;
|
|
81
|
+
tier?: string;
|
|
82
|
+
}
|
|
83
|
+
export interface GroupConcurrencyConfig {
|
|
84
|
+
default: number;
|
|
85
|
+
tiers?: Record<string, number>;
|
|
86
|
+
}
|
|
75
87
|
export interface JobOptions {
|
|
76
88
|
id?: string;
|
|
77
89
|
priority?: number;
|
|
@@ -80,10 +92,17 @@ export interface JobOptions {
|
|
|
80
92
|
singletonSeconds?: number;
|
|
81
93
|
singletonNextSlot?: boolean;
|
|
82
94
|
keepUntil?: number | string | Date;
|
|
95
|
+
group?: GroupOptions;
|
|
83
96
|
}
|
|
84
97
|
export interface ConnectionOptions {
|
|
85
98
|
db?: IDatabase;
|
|
86
99
|
}
|
|
100
|
+
export interface FindJobsOptions extends ConnectionOptions {
|
|
101
|
+
id?: string;
|
|
102
|
+
key?: string;
|
|
103
|
+
data?: object;
|
|
104
|
+
queued?: boolean;
|
|
105
|
+
}
|
|
87
106
|
export type InsertOptions = ConnectionOptions;
|
|
88
107
|
export type SendOptions = JobOptions & QueueOptions & ConnectionOptions;
|
|
89
108
|
export type QueuePolicy = 'standard' | 'short' | 'singleton' | 'stately' | 'exclusive' | (string & {});
|
|
@@ -114,11 +133,33 @@ export interface JobPollingOptions {
|
|
|
114
133
|
export interface JobFetchOptions {
|
|
115
134
|
includeMetadata?: boolean;
|
|
116
135
|
priority?: boolean;
|
|
136
|
+
orderByCreatedOn?: boolean;
|
|
117
137
|
batchSize?: number;
|
|
118
138
|
ignoreStartAfter?: boolean;
|
|
119
139
|
}
|
|
120
|
-
export
|
|
121
|
-
|
|
140
|
+
export interface WorkConcurrencyOptions {
|
|
141
|
+
/**
|
|
142
|
+
* Number of workers to spawn for this queue (per-node).
|
|
143
|
+
* Each worker polls and processes jobs independently.
|
|
144
|
+
*/
|
|
145
|
+
localConcurrency?: number;
|
|
146
|
+
/**
|
|
147
|
+
* Limit concurrent jobs per group within this node (in-memory tracking).
|
|
148
|
+
* No database overhead. Does not coordinate across nodes.
|
|
149
|
+
*/
|
|
150
|
+
localGroupConcurrency?: number | GroupConcurrencyConfig;
|
|
151
|
+
/**
|
|
152
|
+
* Limit concurrent jobs per group globally across all nodes (database tracking).
|
|
153
|
+
* Coordinates across distributed deployments via database queries.
|
|
154
|
+
*/
|
|
155
|
+
groupConcurrency?: number | GroupConcurrencyConfig;
|
|
156
|
+
}
|
|
157
|
+
export type WorkOptions = JobFetchOptions & JobPollingOptions & WorkConcurrencyOptions;
|
|
158
|
+
export interface FetchGroupConcurrencyOptions {
|
|
159
|
+
groupConcurrency?: number | GroupConcurrencyConfig;
|
|
160
|
+
ignoreGroups?: string[] | null;
|
|
161
|
+
}
|
|
162
|
+
export type FetchOptions = JobFetchOptions & ConnectionOptions & FetchGroupConcurrencyOptions;
|
|
122
163
|
export interface ResolvedWorkOptions extends WorkOptions {
|
|
123
164
|
pollingInterval: number;
|
|
124
165
|
}
|
|
@@ -147,6 +188,8 @@ export interface Job<T = object> {
|
|
|
147
188
|
data: T;
|
|
148
189
|
expireInSeconds: number;
|
|
149
190
|
signal: AbortSignal;
|
|
191
|
+
groupId?: string | null;
|
|
192
|
+
groupTier?: string | null;
|
|
150
193
|
}
|
|
151
194
|
export interface JobWithMetadata<T = object> extends Job<T> {
|
|
152
195
|
priority: number;
|
|
@@ -183,6 +226,7 @@ export interface JobInsert<T = object> {
|
|
|
183
226
|
expireInSeconds?: number;
|
|
184
227
|
deleteAfterSeconds?: number;
|
|
185
228
|
retentionSeconds?: number;
|
|
229
|
+
group?: GroupOptions;
|
|
186
230
|
}
|
|
187
231
|
export type WorkerState = 'created' | 'active' | 'stopping' | 'stopped';
|
|
188
232
|
export interface WipData {
|
|
@@ -221,10 +265,37 @@ export interface Warning {
|
|
|
221
265
|
}
|
|
222
266
|
export interface CommandResponse {
|
|
223
267
|
}
|
|
268
|
+
export interface BamEntry {
|
|
269
|
+
id: string;
|
|
270
|
+
name: string;
|
|
271
|
+
version: number;
|
|
272
|
+
status: 'pending' | 'in_progress' | 'completed' | 'failed';
|
|
273
|
+
queue?: string;
|
|
274
|
+
table: string;
|
|
275
|
+
command: string;
|
|
276
|
+
error?: string;
|
|
277
|
+
createdOn: Date;
|
|
278
|
+
startedOn?: Date;
|
|
279
|
+
completedOn?: Date;
|
|
280
|
+
}
|
|
281
|
+
export interface BamStatusSummary {
|
|
282
|
+
status: 'pending' | 'in_progress' | 'completed' | 'failed';
|
|
283
|
+
count: number;
|
|
284
|
+
lastCreatedOn: Date;
|
|
285
|
+
}
|
|
286
|
+
export interface BamEvent {
|
|
287
|
+
id: string;
|
|
288
|
+
name: string;
|
|
289
|
+
status: string;
|
|
290
|
+
queue?: string;
|
|
291
|
+
table: string;
|
|
292
|
+
error?: string;
|
|
293
|
+
}
|
|
224
294
|
export type PgBossEventMap = {
|
|
225
295
|
error: [error: Error];
|
|
226
296
|
warning: [warning: Warning];
|
|
227
297
|
wip: [data: WipData[]];
|
|
228
298
|
stopped: [];
|
|
299
|
+
bam: [data: BamEvent];
|
|
229
300
|
};
|
|
230
301
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,EAAE,WAAW,CAAC;IACvB,SAAS,EAAE,WAAW,CAAC;IACvB,MAAM,EAAE,QAAQ,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,SAAS,CAAC;IACnB,GAAG,EAAE,KAAK,CAAC;IACX,OAAO,EAAE,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,EAAE,WAAW,CAAC;IACvB,SAAS,EAAE,WAAW,CAAC;IACvB,MAAM,EAAE,QAAQ,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,SAAS,CAAC;IACnB,GAAG,EAAE,KAAK,CAAC;IACX,OAAO,EAAE,SAAS,CAAC;IACnB,GAAG,EAAE,KAAK,CAAA;CACX,CAAA;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC,CAAC;CACxE;AAED,MAAM,WAAW,eAAe;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,SAAS,CAAC;IACf,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAGlC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,0BAA0B,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB;AAED,MAAM,WAAW,kBAAmB,SAAQ,eAAe,EAAE,iBAAiB,EAAE,kBAAkB;CAuBjG;AAED,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,sBAAsB,EAAE,MAAM,CAAC;IAC/B,0BAA0B,EAAE,MAAM,CAAC;IACnC,0BAA0B,EAAE,MAAM,CAAC;IACnC,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,CAAC,EAAE,SAAS,CAAC;CAChB;AAED,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,aAAa,GAAG,iBAAiB,CAAA;AAE7C,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,YAAY,GAAG,iBAAiB,CAAA;AAEvE,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAEtG,MAAM,WAAW,KAAM,SAAQ,YAAY;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,WAAY,SAAQ,KAAK;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,gBAAgB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEzE,MAAM,WAAW,iBAAiB;IAChC,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;IACxD;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;CACpD;AAED,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,iBAAiB,GAAG,sBAAsB,CAAA;AACtF,MAAM,WAAW,4BAA4B;IAC3C,gBAAgB,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;IACnD,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,iBAAiB,GAAG,4BAA4B,CAAA;AAE7F,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,GAAG;IACjD,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,GAAG;IAC7D,CAAC,GAAG,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,MAAM;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,CAAC;IACR,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,GAAG,CAAC,CAAC,CAAC;IACzD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC7E,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,IAAI,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;IAChB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS,CAAC,CAAC,GAAG,MAAM;IACnC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAA;AAEvE,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED,MAAM,WAAW,WAAY,SAAQ,MAAM,CAAC,YAAY;IACtD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC,CAAA;AAE7E,MAAM,WAAW,OAAO;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAE1D,MAAM,WAAW,eAAe;CAO/B;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,CAAA;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,IAAI,CAAA;IACf,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB,WAAW,CAAC,EAAE,IAAI,CAAA;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,CAAA;IAC1D,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,IAAI,CAAA;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACrB,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC3B,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IACtB,OAAO,EAAE,EAAE,CAAA;IACX,GAAG,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;CACtB,CAAA"}
|
package/dist/worker.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ declare class Worker<T = unknown> {
|
|
|
27
27
|
lastErrorOn: number | null;
|
|
28
28
|
stopping: boolean;
|
|
29
29
|
stopped: boolean;
|
|
30
|
+
abortController: AbortController | null;
|
|
30
31
|
private loopDelayPromise;
|
|
31
32
|
private beenNotified;
|
|
32
33
|
private runPromise;
|
|
@@ -35,6 +36,7 @@ declare class Worker<T = unknown> {
|
|
|
35
36
|
private run;
|
|
36
37
|
notify(): void;
|
|
37
38
|
stop(): Promise<void>;
|
|
39
|
+
abort(): void;
|
|
38
40
|
toWipData(): types.WipData;
|
|
39
41
|
}
|
|
40
42
|
export default Worker;
|
package/dist/worker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AASxC,UAAU,aAAa,CAAC,CAAC;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,KAAK,CAAC,WAAW,CAAA;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACpC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAChD,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAA;CAC5B;AAED,cAAM,MAAM,CAAC,CAAC,GAAG,OAAO;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAA;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAC7C,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACzD,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IAEzB,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAK;IACzB,SAAS,SAAa;IACtB,KAAK,EAAE,KAAK,CAAC,WAAW,CAAwB;IAChD,aAAa,EAAE,MAAM,GAAG,IAAI,CAAO;IACnC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAO;IACtC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAO;IACpC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAO;IACrC,SAAS,EAAE,GAAG,CAAO;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAO;IACjC,QAAQ,UAAQ;IAChB,OAAO,UAAQ;IACf,OAAO,CAAC,gBAAgB,CAAsC;IAC9D,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,UAAU,CAA6B;gBAElC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC;IAUvF,KAAK;YAIS,GAAG;IAgDjB,MAAM;IAQA,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAW5B,SAAS,IAAK,KAAK,CAAC,OAAO;CAgB5B;AAED,eAAe,MAAM,CAAA"}
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AASxC,UAAU,aAAa,CAAC,CAAC;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,KAAK,CAAC,WAAW,CAAA;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACpC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAChD,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAA;CAC5B;AAED,cAAM,MAAM,CAAC,CAAC,GAAG,OAAO;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAA;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAC7C,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACzD,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IAEzB,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAK;IACzB,SAAS,SAAa;IACtB,KAAK,EAAE,KAAK,CAAC,WAAW,CAAwB;IAChD,aAAa,EAAE,MAAM,GAAG,IAAI,CAAO;IACnC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAO;IACtC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAO;IACpC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAO;IACrC,SAAS,EAAE,GAAG,CAAO;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAO;IACjC,QAAQ,UAAQ;IAChB,OAAO,UAAQ;IACf,eAAe,EAAE,eAAe,GAAG,IAAI,CAAO;IAC9C,OAAO,CAAC,gBAAgB,CAAsC;IAC9D,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,UAAU,CAA6B;gBAElC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC;IAUvF,KAAK;YAIS,GAAG;IAgDjB,MAAM;IAQA,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAW5B,KAAK,IAAK,IAAI;IAMd,SAAS,IAAK,KAAK,CAAC,OAAO;CAgB5B;AAED,eAAe,MAAM,CAAA"}
|
package/dist/worker.js
CHANGED
|
@@ -24,6 +24,7 @@ class Worker {
|
|
|
24
24
|
lastErrorOn = null;
|
|
25
25
|
stopping = false;
|
|
26
26
|
stopped = false;
|
|
27
|
+
abortController = null;
|
|
27
28
|
loopDelayPromise = null;
|
|
28
29
|
beenNotified = false;
|
|
29
30
|
runPromise = null;
|
|
@@ -87,6 +88,11 @@ class Worker {
|
|
|
87
88
|
}
|
|
88
89
|
await this.runPromise;
|
|
89
90
|
}
|
|
91
|
+
abort() {
|
|
92
|
+
if (this.abortController && !this.abortController.signal.aborted) {
|
|
93
|
+
this.abortController.abort();
|
|
94
|
+
}
|
|
95
|
+
}
|
|
90
96
|
toWipData() {
|
|
91
97
|
return {
|
|
92
98
|
id: this.id,
|
package/package.json
CHANGED
|
@@ -1,48 +1,50 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pg-boss",
|
|
3
|
-
"version": "12.
|
|
3
|
+
"version": "12.7.0",
|
|
4
4
|
"description": "Queueing jobs in Postgres from Node.js like a boss",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
8
|
+
"bin": {
|
|
9
|
+
"pg-boss": "./dist/cli.js"
|
|
10
|
+
},
|
|
8
11
|
"engines": {
|
|
9
12
|
"node": ">=22.12.0"
|
|
10
13
|
},
|
|
11
14
|
"dependencies": {
|
|
12
|
-
"cron-parser": "^5.
|
|
13
|
-
"pg": "^8.
|
|
14
|
-
"serialize-error": "^
|
|
15
|
+
"cron-parser": "^5.5.0",
|
|
16
|
+
"pg": "^8.17.2",
|
|
17
|
+
"serialize-error": "^13.0.1"
|
|
15
18
|
},
|
|
16
19
|
"devDependencies": {
|
|
17
|
-
"@istanbuljs/nyc-config-typescript": "^1.0.2",
|
|
18
20
|
"@tsconfig/node-ts": "^23.6.2",
|
|
19
21
|
"@tsconfig/node22": "^22.0.5",
|
|
20
22
|
"@types/luxon": "^3.7.1",
|
|
21
|
-
"@types/
|
|
22
|
-
"@types/node": "^22.19.3",
|
|
23
|
+
"@types/node": "^22.19.7",
|
|
23
24
|
"@types/pg": "^8.16.0",
|
|
25
|
+
"@vitest/coverage-v8": "^4.0.18",
|
|
26
|
+
"cli-testlab": "^5.1.0",
|
|
24
27
|
"eslint": "^9.39.2",
|
|
25
28
|
"luxon": "^3.7.2",
|
|
26
|
-
"mocha": "^11.7.5",
|
|
27
29
|
"neostandard": "^0.12.2",
|
|
28
|
-
"nyc": "^17.1.0",
|
|
29
30
|
"tsx": "^4.21.0",
|
|
30
|
-
"typescript": "^5.9.3"
|
|
31
|
+
"typescript": "^5.9.3",
|
|
32
|
+
"vitest": "^4.0.16"
|
|
31
33
|
},
|
|
32
34
|
"scripts": {
|
|
33
35
|
"build": "npm run clean && tsc --project tsconfig.build.json",
|
|
34
36
|
"clean": "node -e \"fs.rmSync('dist',{recursive:true,force:true})\"",
|
|
35
|
-
"prepublishOnly": "npm
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"cover": "
|
|
37
|
+
"prepublishOnly": "npm install && npm test && npm run build",
|
|
38
|
+
"test": "eslint . && vitest run",
|
|
39
|
+
"lint:fix": "eslint . --fix",
|
|
40
|
+
"cover": "vitest run --coverage",
|
|
39
41
|
"tsc": "tsc --noEmit",
|
|
40
42
|
"readme": "node ./examples/readme.js",
|
|
41
43
|
"db:migrate": "node --import=tsx -e 'console.log(require(\"./src\").getMigrationPlans())'",
|
|
42
44
|
"db:construct": "node --import=tsx -e 'console.log(require(\"./src\").getConstructionPlans())'"
|
|
43
45
|
},
|
|
44
46
|
"pgboss": {
|
|
45
|
-
"schema":
|
|
47
|
+
"schema": 27
|
|
46
48
|
},
|
|
47
49
|
"repository": {
|
|
48
50
|
"type": "git",
|