pg-boss 10.4.1 → 10.4.2
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/package.json +1 -1
- package/dist/attorney.d.ts +0 -19
- package/dist/attorney.d.ts.map +0 -1
- package/dist/attorney.js +0 -227
- package/dist/bam.d.ts +0 -14
- package/dist/bam.d.ts.map +0 -1
- package/dist/bam.js +0 -114
- package/dist/boss.d.ts +0 -16
- package/dist/boss.d.ts.map +0 -1
- package/dist/boss.js +0 -163
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -333
- package/dist/contractor.d.ts +0 -22
- package/dist/contractor.d.ts.map +0 -1
- package/dist/contractor.js +0 -81
- package/dist/db.d.ts +0 -16
- package/dist/db.d.ts.map +0 -1
- package/dist/db.js +0 -46
- package/dist/index.d.ts +0 -72
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -266
- package/dist/manager.d.ts +0 -93
- package/dist/manager.d.ts.map +0 -1
- package/dist/manager.js +0 -746
- package/dist/migrationStore.d.ts +0 -7
- package/dist/migrationStore.d.ts.map +0 -1
- package/dist/migrationStore.js +0 -425
- package/dist/plans.d.ts +0 -102
- package/dist/plans.d.ts.map +0 -1
- package/dist/plans.js +0 -1220
- package/dist/spy.d.ts +0 -23
- package/dist/spy.d.ts.map +0 -1
- package/dist/spy.js +0 -73
- package/dist/timekeeper.d.ts +0 -34
- package/dist/timekeeper.d.ts.map +0 -1
- package/dist/timekeeper.js +0 -158
- package/dist/tools.d.ts +0 -18
- package/dist/tools.d.ts.map +0 -1
- package/dist/tools.js +0 -45
- package/dist/types.d.ts +0 -301
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -1
- package/dist/worker.d.ts +0 -43
- package/dist/worker.d.ts.map +0 -1
- package/dist/worker.js +0 -113
package/dist/worker.d.ts
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import type * as types from './types.ts';
|
|
2
|
-
interface WorkerOptions<T> {
|
|
3
|
-
id: string;
|
|
4
|
-
name: string;
|
|
5
|
-
options: types.WorkOptions;
|
|
6
|
-
interval: number;
|
|
7
|
-
fetch: () => Promise<types.Job<T>[]>;
|
|
8
|
-
onFetch: (jobs: types.Job<T>[]) => Promise<void>;
|
|
9
|
-
onError: (err: any) => void;
|
|
10
|
-
}
|
|
11
|
-
declare class Worker<T = unknown> {
|
|
12
|
-
readonly id: string;
|
|
13
|
-
readonly name: string;
|
|
14
|
-
readonly options: types.WorkOptions;
|
|
15
|
-
readonly fetch: () => Promise<types.Job<T>[]>;
|
|
16
|
-
readonly onFetch: (jobs: types.Job<T>[]) => Promise<void>;
|
|
17
|
-
readonly onError: (err: any) => void;
|
|
18
|
-
readonly interval: number;
|
|
19
|
-
jobs: types.Job<T>[];
|
|
20
|
-
createdOn: number;
|
|
21
|
-
state: types.WorkerState;
|
|
22
|
-
lastFetchedOn: number | null;
|
|
23
|
-
lastJobStartedOn: number | null;
|
|
24
|
-
lastJobEndedOn: number | null;
|
|
25
|
-
lastJobDuration: number | null;
|
|
26
|
-
lastError: any;
|
|
27
|
-
lastErrorOn: number | null;
|
|
28
|
-
stopping: boolean;
|
|
29
|
-
stopped: boolean;
|
|
30
|
-
abortController: AbortController | null;
|
|
31
|
-
private loopDelayPromise;
|
|
32
|
-
private beenNotified;
|
|
33
|
-
private runPromise;
|
|
34
|
-
constructor({ id, name, options, interval, fetch, onFetch, onError }: WorkerOptions<T>);
|
|
35
|
-
start(): void;
|
|
36
|
-
private run;
|
|
37
|
-
notify(): void;
|
|
38
|
-
stop(): Promise<void>;
|
|
39
|
-
abort(): void;
|
|
40
|
-
toWipData(): types.WipData;
|
|
41
|
-
}
|
|
42
|
-
export default Worker;
|
|
43
|
-
//# sourceMappingURL=worker.d.ts.map
|
package/dist/worker.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import { delay } from "./tools.js";
|
|
2
|
-
const WORKER_STATES = {
|
|
3
|
-
created: 'created',
|
|
4
|
-
active: 'active',
|
|
5
|
-
stopping: 'stopping',
|
|
6
|
-
stopped: 'stopped'
|
|
7
|
-
};
|
|
8
|
-
class Worker {
|
|
9
|
-
id;
|
|
10
|
-
name;
|
|
11
|
-
options;
|
|
12
|
-
fetch;
|
|
13
|
-
onFetch;
|
|
14
|
-
onError;
|
|
15
|
-
interval;
|
|
16
|
-
jobs = [];
|
|
17
|
-
createdOn = Date.now();
|
|
18
|
-
state = WORKER_STATES.created;
|
|
19
|
-
lastFetchedOn = null;
|
|
20
|
-
lastJobStartedOn = null;
|
|
21
|
-
lastJobEndedOn = null;
|
|
22
|
-
lastJobDuration = null;
|
|
23
|
-
lastError = null;
|
|
24
|
-
lastErrorOn = null;
|
|
25
|
-
stopping = false;
|
|
26
|
-
stopped = false;
|
|
27
|
-
abortController = null;
|
|
28
|
-
loopDelayPromise = null;
|
|
29
|
-
beenNotified = false;
|
|
30
|
-
runPromise = null;
|
|
31
|
-
constructor({ id, name, options, interval, fetch, onFetch, onError }) {
|
|
32
|
-
this.id = id;
|
|
33
|
-
this.name = name;
|
|
34
|
-
this.options = options;
|
|
35
|
-
this.fetch = fetch;
|
|
36
|
-
this.onFetch = onFetch;
|
|
37
|
-
this.onError = onError;
|
|
38
|
-
this.interval = interval;
|
|
39
|
-
}
|
|
40
|
-
start() {
|
|
41
|
-
this.runPromise = this.run();
|
|
42
|
-
}
|
|
43
|
-
async run() {
|
|
44
|
-
this.state = WORKER_STATES.active;
|
|
45
|
-
while (!this.stopping) {
|
|
46
|
-
const started = Date.now();
|
|
47
|
-
try {
|
|
48
|
-
this.beenNotified = false;
|
|
49
|
-
const jobs = await this.fetch();
|
|
50
|
-
this.lastFetchedOn = Date.now();
|
|
51
|
-
if (jobs) {
|
|
52
|
-
this.jobs = jobs;
|
|
53
|
-
this.lastJobStartedOn = this.lastFetchedOn;
|
|
54
|
-
await this.onFetch(jobs);
|
|
55
|
-
this.lastJobEndedOn = Date.now();
|
|
56
|
-
this.jobs = [];
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
catch (err) {
|
|
60
|
-
this.lastErrorOn = Date.now();
|
|
61
|
-
this.lastError = err;
|
|
62
|
-
err.message = `${err.message} (Queue: ${this.name}, Worker: ${this.id})`;
|
|
63
|
-
this.onError(err);
|
|
64
|
-
}
|
|
65
|
-
const duration = Date.now() - started;
|
|
66
|
-
this.lastJobDuration = duration;
|
|
67
|
-
if (!this.stopping && !this.beenNotified && (this.interval - duration) > 100) {
|
|
68
|
-
this.loopDelayPromise = delay(this.interval - duration);
|
|
69
|
-
await this.loopDelayPromise;
|
|
70
|
-
this.loopDelayPromise = null;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
this.stopping = false;
|
|
74
|
-
this.stopped = true;
|
|
75
|
-
this.state = WORKER_STATES.stopped;
|
|
76
|
-
}
|
|
77
|
-
notify() {
|
|
78
|
-
this.beenNotified = true;
|
|
79
|
-
if (this.loopDelayPromise) {
|
|
80
|
-
this.loopDelayPromise.abort();
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
async stop() {
|
|
84
|
-
this.stopping = true;
|
|
85
|
-
this.state = WORKER_STATES.stopping;
|
|
86
|
-
if (this.loopDelayPromise) {
|
|
87
|
-
this.loopDelayPromise.abort();
|
|
88
|
-
}
|
|
89
|
-
await this.runPromise;
|
|
90
|
-
}
|
|
91
|
-
abort() {
|
|
92
|
-
if (this.abortController && !this.abortController.signal.aborted) {
|
|
93
|
-
this.abortController.abort();
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
toWipData() {
|
|
97
|
-
return {
|
|
98
|
-
id: this.id,
|
|
99
|
-
name: this.name,
|
|
100
|
-
options: this.options,
|
|
101
|
-
state: this.state,
|
|
102
|
-
count: this.jobs.length,
|
|
103
|
-
createdOn: this.createdOn,
|
|
104
|
-
lastFetchedOn: this.lastFetchedOn,
|
|
105
|
-
lastJobStartedOn: this.lastJobStartedOn,
|
|
106
|
-
lastJobEndedOn: this.lastJobEndedOn,
|
|
107
|
-
lastError: this.lastError,
|
|
108
|
-
lastErrorOn: this.lastErrorOn,
|
|
109
|
-
lastJobDuration: this.lastJobDuration
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
export default Worker;
|