@cedarjs/jobs 5.0.4-next.167 → 5.0.4
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/adapters/BaseAdapter/BaseAdapter.js +28 -4
- package/dist/adapters/PrismaAdapter/PrismaAdapter.js +35 -11
- package/dist/adapters/PrismaAdapter/errors.js +28 -4
- package/dist/bins/cedar-jobs-worker.js +60 -25
- package/dist/bins/cedar-jobs.js +72 -35
- package/dist/bins/rw-jobs-worker.js +2 -1
- package/dist/consts.js +52 -4
- package/dist/core/Executor.js +39 -19
- package/dist/core/JobManager.js +32 -8
- package/dist/core/Scheduler.js +35 -20
- package/dist/core/Worker.js +40 -23
- package/dist/errors.js +41 -2
- package/dist/index.js +39 -9
- package/dist/loaders.js +51 -16
- package/dist/setupEnv.js +28 -4
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +16 -0
- package/dist/util.js +28 -4
- package/package.json +13 -11
|
@@ -1,12 +1,36 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var BaseAdapter_exports = {};
|
|
20
|
+
__export(BaseAdapter_exports, {
|
|
21
|
+
BaseAdapter: () => BaseAdapter
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(BaseAdapter_exports);
|
|
24
|
+
var import_consts = require("../../consts.js");
|
|
2
25
|
class BaseAdapter {
|
|
3
26
|
options;
|
|
4
27
|
logger;
|
|
5
28
|
constructor(options) {
|
|
6
29
|
this.options = options;
|
|
7
|
-
this.logger = options?.logger ?? DEFAULT_LOGGER;
|
|
30
|
+
this.logger = options?.logger ?? import_consts.DEFAULT_LOGGER;
|
|
8
31
|
}
|
|
9
32
|
}
|
|
10
|
-
export
|
|
33
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
34
|
+
0 && (module.exports = {
|
|
11
35
|
BaseAdapter
|
|
12
|
-
};
|
|
36
|
+
});
|
|
@@ -1,7 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var PrismaAdapter_exports = {};
|
|
20
|
+
__export(PrismaAdapter_exports, {
|
|
21
|
+
PrismaAdapter: () => PrismaAdapter
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(PrismaAdapter_exports);
|
|
24
|
+
var import_change_case = require("change-case");
|
|
25
|
+
var import_consts = require("../../consts.js");
|
|
26
|
+
var import_BaseAdapter = require("../BaseAdapter/BaseAdapter.js");
|
|
27
|
+
var import_errors = require("./errors.js");
|
|
5
28
|
function isPrismaAdapterDelegate(value) {
|
|
6
29
|
const candidate = value;
|
|
7
30
|
return candidate !== null && typeof candidate === "object" && typeof candidate.findFirst === "function" && typeof candidate.updateMany === "function" && typeof candidate.delete === "function" && typeof candidate.update === "function" && typeof candidate.create === "function" && typeof candidate.deleteMany === "function";
|
|
@@ -9,7 +32,7 @@ function isPrismaAdapterDelegate(value) {
|
|
|
9
32
|
function getDelegate(db, model) {
|
|
10
33
|
const delegate = db[model];
|
|
11
34
|
if (!isPrismaAdapterDelegate(delegate)) {
|
|
12
|
-
throw new ModelNameError(model);
|
|
35
|
+
throw new import_errors.ModelNameError(model);
|
|
13
36
|
}
|
|
14
37
|
return delegate;
|
|
15
38
|
}
|
|
@@ -23,7 +46,7 @@ function getActiveProvider(db) {
|
|
|
23
46
|
}
|
|
24
47
|
return provider;
|
|
25
48
|
}
|
|
26
|
-
class PrismaAdapter extends BaseAdapter {
|
|
49
|
+
class PrismaAdapter extends import_BaseAdapter.BaseAdapter {
|
|
27
50
|
db;
|
|
28
51
|
model;
|
|
29
52
|
accessor;
|
|
@@ -31,8 +54,8 @@ class PrismaAdapter extends BaseAdapter {
|
|
|
31
54
|
constructor(options) {
|
|
32
55
|
super(options);
|
|
33
56
|
this.db = options.db;
|
|
34
|
-
this.model = options.model || DEFAULT_MODEL_NAME;
|
|
35
|
-
const camelName = camelCase(String(this.model));
|
|
57
|
+
this.model = options.model || import_consts.DEFAULT_MODEL_NAME;
|
|
58
|
+
const camelName = (0, import_change_case.camelCase)(String(this.model));
|
|
36
59
|
this.accessor = getDelegate(this.db, camelName);
|
|
37
60
|
this.provider = getActiveProvider(options.db);
|
|
38
61
|
}
|
|
@@ -48,7 +71,7 @@ class PrismaAdapter extends BaseAdapter {
|
|
|
48
71
|
queues
|
|
49
72
|
}) {
|
|
50
73
|
const maxRuntimeExpire = new Date(
|
|
51
|
-
(/* @__PURE__ */ new Date()).getTime() + (maxRuntime || DEFAULT_MAX_RUNTIME * 1e3)
|
|
74
|
+
(/* @__PURE__ */ new Date()).getTime() + (maxRuntime || import_consts.DEFAULT_MAX_RUNTIME * 1e3)
|
|
52
75
|
);
|
|
53
76
|
const where = {
|
|
54
77
|
AND: [
|
|
@@ -178,6 +201,7 @@ ${error.stack}`,
|
|
|
178
201
|
await this.accessor.deleteMany();
|
|
179
202
|
}
|
|
180
203
|
}
|
|
181
|
-
export
|
|
204
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
205
|
+
0 && (module.exports = {
|
|
182
206
|
PrismaAdapter
|
|
183
|
-
};
|
|
207
|
+
});
|
|
@@ -1,9 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var errors_exports = {};
|
|
20
|
+
__export(errors_exports, {
|
|
21
|
+
ModelNameError: () => ModelNameError
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(errors_exports);
|
|
24
|
+
var import_errors = require("../../errors.js");
|
|
25
|
+
class ModelNameError extends import_errors.CedarJSJobsError {
|
|
3
26
|
constructor(name) {
|
|
4
27
|
super(`Model \`${name}\` not found in PrismaClient`);
|
|
5
28
|
}
|
|
6
29
|
}
|
|
7
|
-
export
|
|
30
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
31
|
+
0 && (module.exports = {
|
|
8
32
|
ModelNameError
|
|
9
|
-
};
|
|
33
|
+
});
|
|
@@ -1,14 +1,48 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
"use strict";
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all)
|
|
11
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from))
|
|
16
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
17
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
|
+
}
|
|
19
|
+
return to;
|
|
20
|
+
};
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
29
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
+
var cedar_jobs_worker_exports = {};
|
|
31
|
+
__export(cedar_jobs_worker_exports, {
|
|
32
|
+
getWorker: () => getWorker,
|
|
33
|
+
processName: () => processName
|
|
34
|
+
});
|
|
35
|
+
module.exports = __toCommonJS(cedar_jobs_worker_exports);
|
|
36
|
+
var import_node_process = __toESM(require("node:process"));
|
|
37
|
+
var import_helpers = require("yargs/helpers");
|
|
38
|
+
var import_yargs = __toESM(require("yargs/yargs"));
|
|
39
|
+
var import_consts = require("../consts.js");
|
|
40
|
+
var import_errors = require("../errors.js");
|
|
41
|
+
var import_loaders = require("../loaders.js");
|
|
42
|
+
var import_setupEnv = require("../setupEnv.js");
|
|
43
|
+
(0, import_setupEnv.setupEnv)();
|
|
10
44
|
const parseArgs = (argv) => {
|
|
11
|
-
return
|
|
45
|
+
return (0, import_yargs.default)((0, import_helpers.hideBin)(argv)).usage(
|
|
12
46
|
"Starts a single CedarJS Jobs worker to process background jobs\n\nUsage: $0 [options]"
|
|
13
47
|
).option("index", {
|
|
14
48
|
type: "number",
|
|
@@ -32,20 +66,20 @@ const processName = ({
|
|
|
32
66
|
id,
|
|
33
67
|
queues
|
|
34
68
|
}) => {
|
|
35
|
-
return `${PROCESS_TITLE_PREFIX}.${[queues].flat().join("-")}.${id}`;
|
|
69
|
+
return `${import_consts.PROCESS_TITLE_PREFIX}.${[queues].flat().join("-")}.${id}`;
|
|
36
70
|
};
|
|
37
71
|
const setupSignals = ({ worker }) => {
|
|
38
|
-
|
|
72
|
+
import_node_process.default.on("SIGINT", () => {
|
|
39
73
|
worker.logger.warn(
|
|
40
|
-
`[${
|
|
74
|
+
`[${import_node_process.default.title}] SIGINT received at ${(/* @__PURE__ */ new Date()).toISOString()}, finishing work...`
|
|
41
75
|
);
|
|
42
76
|
worker.forever = false;
|
|
43
77
|
});
|
|
44
|
-
|
|
78
|
+
import_node_process.default.on("SIGTERM", () => {
|
|
45
79
|
worker.logger.warn(
|
|
46
|
-
`[${
|
|
80
|
+
`[${import_node_process.default.title}] SIGTERM received at ${(/* @__PURE__ */ new Date()).toISOString()}, exiting now!`
|
|
47
81
|
);
|
|
48
|
-
|
|
82
|
+
import_node_process.default.exit(0);
|
|
49
83
|
});
|
|
50
84
|
};
|
|
51
85
|
const getWorker = async ({
|
|
@@ -56,14 +90,14 @@ const getWorker = async ({
|
|
|
56
90
|
}) => {
|
|
57
91
|
let manager;
|
|
58
92
|
try {
|
|
59
|
-
manager = await loadJobsManager();
|
|
93
|
+
manager = await (0, import_loaders.loadJobsManager)();
|
|
60
94
|
} catch (e) {
|
|
61
95
|
console.error(e);
|
|
62
|
-
|
|
96
|
+
import_node_process.default.exit(1);
|
|
63
97
|
}
|
|
64
98
|
const workerConfig = manager.workers[index];
|
|
65
99
|
if (!workerConfig) {
|
|
66
|
-
throw new WorkerConfigIndexNotFoundError(index);
|
|
100
|
+
throw new import_errors.WorkerConfigIndexNotFoundError(index);
|
|
67
101
|
}
|
|
68
102
|
return manager.createWorker({
|
|
69
103
|
index,
|
|
@@ -73,19 +107,20 @@ const getWorker = async ({
|
|
|
73
107
|
});
|
|
74
108
|
};
|
|
75
109
|
const main = async () => {
|
|
76
|
-
const { index, id, clear, workoff } = await parseArgs(
|
|
110
|
+
const { index, id, clear, workoff } = await parseArgs(import_node_process.default.argv);
|
|
77
111
|
const worker = await getWorker({ index, id, clear, workoff });
|
|
78
|
-
|
|
112
|
+
import_node_process.default.title = processName({ id, queues: worker.queues });
|
|
79
113
|
worker.run().then(() => {
|
|
80
|
-
worker.logger.info(`[${
|
|
81
|
-
|
|
114
|
+
worker.logger.info(`[${import_node_process.default.title}] Worker finished, shutting down.`);
|
|
115
|
+
import_node_process.default.exit(0);
|
|
82
116
|
});
|
|
83
117
|
setupSignals({ worker });
|
|
84
118
|
};
|
|
85
|
-
if (
|
|
119
|
+
if (import_node_process.default.env.NODE_ENV !== "test") {
|
|
86
120
|
main();
|
|
87
121
|
}
|
|
88
|
-
export
|
|
122
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
123
|
+
0 && (module.exports = {
|
|
89
124
|
getWorker,
|
|
90
125
|
processName
|
|
91
|
-
};
|
|
126
|
+
});
|
package/dist/bins/cedar-jobs.js
CHANGED
|
@@ -1,23 +1,59 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
2
|
+
"use strict";
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all)
|
|
11
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from))
|
|
16
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
17
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
|
+
}
|
|
19
|
+
return to;
|
|
20
|
+
};
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
29
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
+
var cedar_jobs_exports = {};
|
|
31
|
+
__export(cedar_jobs_exports, {
|
|
32
|
+
buildNumWorkers: () => buildNumWorkers,
|
|
33
|
+
clearQueue: () => clearQueue,
|
|
34
|
+
startWorkers: () => startWorkers,
|
|
35
|
+
stopWorkers: () => stopWorkers
|
|
36
|
+
});
|
|
37
|
+
module.exports = __toCommonJS(cedar_jobs_exports);
|
|
38
|
+
var import_node_child_process = require("node:child_process");
|
|
39
|
+
var import_node_console = __toESM(require("node:console"));
|
|
40
|
+
var import_node_path = __toESM(require("node:path"));
|
|
41
|
+
var import_node_process = __toESM(require("node:process"));
|
|
42
|
+
var import_node_timers = require("node:timers");
|
|
43
|
+
var import_helpers = require("yargs/helpers");
|
|
44
|
+
var import_yargs = __toESM(require("yargs/yargs"));
|
|
45
|
+
var import_consts = require("../consts.js");
|
|
46
|
+
var import_loaders = require("../loaders.js");
|
|
47
|
+
var import_setupEnv = require("../setupEnv.js");
|
|
48
|
+
(0, import_setupEnv.setupEnv)();
|
|
49
|
+
import_node_process.default.title = "cedar-jobs";
|
|
50
|
+
const WORKER_PATH = import_node_path.default.join(__dirname, "cedar-jobs-worker.js");
|
|
15
51
|
const parseArgs = (argv) => {
|
|
16
|
-
const commandString = hideBin(argv);
|
|
52
|
+
const commandString = (0, import_helpers.hideBin)(argv);
|
|
17
53
|
if (commandString.length === 1 && commandString[0] === "jobs") {
|
|
18
54
|
commandString.shift();
|
|
19
55
|
}
|
|
20
|
-
const parsed =
|
|
56
|
+
const parsed = (0, import_yargs.default)(commandString).usage(
|
|
21
57
|
"Starts the CedarJS Jobs runner to process background jobs\n\nUsage: cedar jobs <command> [options]"
|
|
22
58
|
).command("work", "Start a worker and process jobs").command("workoff", "Start a worker and exit after all jobs processed").command("start", "Start workers in daemon mode").command("stop", "Stop any daemonized job workers").command("restart", "Stop and start any daemonized job workers").command("clear", "Clear the job queue").demandCommand(1, "You must specify a mode to start in").example(
|
|
23
59
|
"cedar jobs work",
|
|
@@ -28,7 +64,7 @@ const parseArgs = (argv) => {
|
|
|
28
64
|
).help().parse(commandString, (_err, _argv, output) => {
|
|
29
65
|
if (output) {
|
|
30
66
|
const newOutput = output.replaceAll("cedar-jobs.js", "cedar jobs");
|
|
31
|
-
|
|
67
|
+
import_node_console.default.log(newOutput);
|
|
32
68
|
}
|
|
33
69
|
});
|
|
34
70
|
return { command: parsed._[0] };
|
|
@@ -54,10 +90,10 @@ const startWorkers = ({
|
|
|
54
90
|
if (workoff) {
|
|
55
91
|
workerArgs.push("--workoff");
|
|
56
92
|
}
|
|
57
|
-
const worker = fork(WORKER_PATH, workerArgs, {
|
|
93
|
+
const worker = (0, import_node_child_process.fork)(WORKER_PATH, workerArgs, {
|
|
58
94
|
detached: detach,
|
|
59
95
|
stdio: detach ? "ignore" : "inherit",
|
|
60
|
-
env:
|
|
96
|
+
env: import_node_process.default.env
|
|
61
97
|
});
|
|
62
98
|
if (detach) {
|
|
63
99
|
worker.unref();
|
|
@@ -83,22 +119,22 @@ const stopWorkers = async ({
|
|
|
83
119
|
}
|
|
84
120
|
for (const processId of processIds) {
|
|
85
121
|
logger.info(`Stopping process id ${processId}...`);
|
|
86
|
-
|
|
122
|
+
import_node_process.default.kill(processId, signal);
|
|
87
123
|
while ((await findWorkerProcesses(processId)).length) {
|
|
88
|
-
await new Promise((resolve) => setTimeout(resolve, 250));
|
|
124
|
+
await new Promise((resolve) => (0, import_node_timers.setTimeout)(resolve, 250));
|
|
89
125
|
}
|
|
90
126
|
}
|
|
91
127
|
};
|
|
92
128
|
const clearQueue = ({ logger }) => {
|
|
93
129
|
logger.warn(`Starting worker to clear job queue...`);
|
|
94
|
-
fork(WORKER_PATH, ["--clear", "--index", "0", "--id", "0"]);
|
|
130
|
+
(0, import_node_child_process.fork)(WORKER_PATH, ["--clear", "--index", "0", "--id", "0"]);
|
|
95
131
|
};
|
|
96
132
|
const signalSetup = ({
|
|
97
133
|
workers,
|
|
98
134
|
logger
|
|
99
135
|
}) => {
|
|
100
136
|
let sigtermCount = 0;
|
|
101
|
-
|
|
137
|
+
import_node_process.default.on("SIGINT", () => {
|
|
102
138
|
sigtermCount++;
|
|
103
139
|
let message = "SIGINT received: shutting down workers gracefully (press Ctrl-C again to exit immediately)...";
|
|
104
140
|
if (sigtermCount > 1) {
|
|
@@ -116,12 +152,12 @@ const signalSetup = ({
|
|
|
116
152
|
};
|
|
117
153
|
const findWorkerProcesses = async (id) => {
|
|
118
154
|
return new Promise(function(resolve, reject) {
|
|
119
|
-
const platform =
|
|
120
|
-
const cmd = platform === "win32" ? "tasklist" : platform === "darwin" ? "ps -ax | grep " + PROCESS_TITLE_PREFIX : platform === "linux" ? "ps -A" : "";
|
|
155
|
+
const platform = import_node_process.default.platform;
|
|
156
|
+
const cmd = platform === "win32" ? "tasklist" : platform === "darwin" ? "ps -ax | grep " + import_consts.PROCESS_TITLE_PREFIX : platform === "linux" ? "ps -A" : "";
|
|
121
157
|
if (cmd === "") {
|
|
122
158
|
resolve([]);
|
|
123
159
|
}
|
|
124
|
-
exec(cmd, function(err, stdout) {
|
|
160
|
+
(0, import_node_child_process.exec)(cmd, function(err, stdout) {
|
|
125
161
|
if (err) {
|
|
126
162
|
reject(err);
|
|
127
163
|
}
|
|
@@ -145,17 +181,17 @@ const findWorkerProcesses = async (id) => {
|
|
|
145
181
|
});
|
|
146
182
|
};
|
|
147
183
|
const main = async () => {
|
|
148
|
-
const { command } = parseArgs(
|
|
184
|
+
const { command } = parseArgs(import_node_process.default.argv);
|
|
149
185
|
let jobsConfig;
|
|
150
186
|
try {
|
|
151
|
-
jobsConfig = await loadJobsManager();
|
|
187
|
+
jobsConfig = await (0, import_loaders.loadJobsManager)();
|
|
152
188
|
} catch (e) {
|
|
153
|
-
|
|
154
|
-
|
|
189
|
+
import_node_console.default.error(e);
|
|
190
|
+
import_node_process.default.exit(1);
|
|
155
191
|
}
|
|
156
192
|
const workerConfig = jobsConfig.workers;
|
|
157
193
|
const numWorkers = buildNumWorkers(workerConfig);
|
|
158
|
-
const logger = jobsConfig.logger ?? DEFAULT_LOGGER;
|
|
194
|
+
const logger = jobsConfig.logger ?? import_consts.DEFAULT_LOGGER;
|
|
159
195
|
logger.warn(`Starting CedarJS Jobs Runner at ${(/* @__PURE__ */ new Date()).toISOString()}...`);
|
|
160
196
|
switch (command) {
|
|
161
197
|
case "start":
|
|
@@ -164,7 +200,7 @@ const main = async () => {
|
|
|
164
200
|
detach: true,
|
|
165
201
|
logger
|
|
166
202
|
});
|
|
167
|
-
return
|
|
203
|
+
return import_node_process.default.exit(0);
|
|
168
204
|
case "stop":
|
|
169
205
|
return await stopWorkers({
|
|
170
206
|
numWorkers,
|
|
@@ -178,7 +214,7 @@ const main = async () => {
|
|
|
178
214
|
detach: true,
|
|
179
215
|
logger
|
|
180
216
|
});
|
|
181
|
-
return
|
|
217
|
+
return import_node_process.default.exit(0);
|
|
182
218
|
case "work":
|
|
183
219
|
return signalSetup({
|
|
184
220
|
workers: startWorkers({
|
|
@@ -200,12 +236,13 @@ const main = async () => {
|
|
|
200
236
|
return clearQueue({ logger });
|
|
201
237
|
}
|
|
202
238
|
};
|
|
203
|
-
if (
|
|
239
|
+
if (import_node_process.default.env.NODE_ENV !== "test") {
|
|
204
240
|
main();
|
|
205
241
|
}
|
|
206
|
-
export
|
|
242
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
243
|
+
0 && (module.exports = {
|
|
207
244
|
buildNumWorkers,
|
|
208
245
|
clearQueue,
|
|
209
246
|
startWorkers,
|
|
210
247
|
stopWorkers
|
|
211
|
-
};
|
|
248
|
+
});
|
package/dist/consts.js
CHANGED
|
@@ -1,10 +1,57 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var consts_exports = {};
|
|
30
|
+
__export(consts_exports, {
|
|
31
|
+
DEFAULT_ADAPTER_NAME: () => DEFAULT_ADAPTER_NAME,
|
|
32
|
+
DEFAULT_DELETE_FAILED_JOBS: () => DEFAULT_DELETE_FAILED_JOBS,
|
|
33
|
+
DEFAULT_DELETE_SUCCESSFUL_JOBS: () => DEFAULT_DELETE_SUCCESSFUL_JOBS,
|
|
34
|
+
DEFAULT_LOGGER: () => DEFAULT_LOGGER,
|
|
35
|
+
DEFAULT_LOGGER_NAME: () => DEFAULT_LOGGER_NAME,
|
|
36
|
+
DEFAULT_MAX_ATTEMPTS: () => DEFAULT_MAX_ATTEMPTS,
|
|
37
|
+
DEFAULT_MAX_RUNTIME: () => DEFAULT_MAX_RUNTIME,
|
|
38
|
+
DEFAULT_MODEL_NAME: () => DEFAULT_MODEL_NAME,
|
|
39
|
+
DEFAULT_PRIORITY: () => DEFAULT_PRIORITY,
|
|
40
|
+
DEFAULT_QUEUE: () => DEFAULT_QUEUE,
|
|
41
|
+
DEFAULT_SLEEP_DELAY: () => DEFAULT_SLEEP_DELAY,
|
|
42
|
+
DEFAULT_WAIT: () => DEFAULT_WAIT,
|
|
43
|
+
DEFAULT_WAIT_UNTIL: () => DEFAULT_WAIT_UNTIL,
|
|
44
|
+
DEFAULT_WORK_QUEUE: () => DEFAULT_WORK_QUEUE,
|
|
45
|
+
PROCESS_TITLE_PREFIX: () => PROCESS_TITLE_PREFIX
|
|
46
|
+
});
|
|
47
|
+
module.exports = __toCommonJS(consts_exports);
|
|
48
|
+
var import_node_console = __toESM(require("node:console"));
|
|
2
49
|
const DEFAULT_MAX_ATTEMPTS = 24;
|
|
3
50
|
const DEFAULT_MAX_RUNTIME = 14400;
|
|
4
51
|
const DEFAULT_SLEEP_DELAY = 5;
|
|
5
52
|
const DEFAULT_DELETE_SUCCESSFUL_JOBS = true;
|
|
6
53
|
const DEFAULT_DELETE_FAILED_JOBS = false;
|
|
7
|
-
const DEFAULT_LOGGER =
|
|
54
|
+
const DEFAULT_LOGGER = import_node_console.default;
|
|
8
55
|
const DEFAULT_QUEUE = "default";
|
|
9
56
|
const DEFAULT_WORK_QUEUE = "*";
|
|
10
57
|
const DEFAULT_PRIORITY = 50;
|
|
@@ -14,7 +61,8 @@ const PROCESS_TITLE_PREFIX = "cedar-jobs-worker";
|
|
|
14
61
|
const DEFAULT_MODEL_NAME = "BackgroundJob";
|
|
15
62
|
const DEFAULT_ADAPTER_NAME = "adapter";
|
|
16
63
|
const DEFAULT_LOGGER_NAME = "logger";
|
|
17
|
-
export
|
|
64
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
65
|
+
0 && (module.exports = {
|
|
18
66
|
DEFAULT_ADAPTER_NAME,
|
|
19
67
|
DEFAULT_DELETE_FAILED_JOBS,
|
|
20
68
|
DEFAULT_DELETE_SUCCESSFUL_JOBS,
|
|
@@ -30,4 +78,4 @@ export {
|
|
|
30
78
|
DEFAULT_WAIT_UNTIL,
|
|
31
79
|
DEFAULT_WORK_QUEUE,
|
|
32
80
|
PROCESS_TITLE_PREFIX
|
|
33
|
-
};
|
|
81
|
+
});
|
package/dist/core/Executor.js
CHANGED
|
@@ -1,17 +1,36 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var Executor_exports = {};
|
|
20
|
+
__export(Executor_exports, {
|
|
21
|
+
DEFAULTS: () => DEFAULTS,
|
|
22
|
+
Executor: () => Executor
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(Executor_exports);
|
|
25
|
+
var import_cron_parser = require("cron-parser");
|
|
26
|
+
var import_consts = require("../consts.js");
|
|
27
|
+
var import_errors = require("../errors.js");
|
|
28
|
+
var import_loaders = require("../loaders.js");
|
|
10
29
|
const DEFAULTS = {
|
|
11
|
-
logger: DEFAULT_LOGGER,
|
|
12
|
-
maxAttempts: DEFAULT_MAX_ATTEMPTS,
|
|
13
|
-
deleteFailedJobs: DEFAULT_DELETE_FAILED_JOBS,
|
|
14
|
-
deleteSuccessfulJobs: DEFAULT_DELETE_SUCCESSFUL_JOBS
|
|
30
|
+
logger: import_consts.DEFAULT_LOGGER,
|
|
31
|
+
maxAttempts: import_consts.DEFAULT_MAX_ATTEMPTS,
|
|
32
|
+
deleteFailedJobs: import_consts.DEFAULT_DELETE_FAILED_JOBS,
|
|
33
|
+
deleteSuccessfulJobs: import_consts.DEFAULT_DELETE_SUCCESSFUL_JOBS
|
|
15
34
|
};
|
|
16
35
|
class Executor {
|
|
17
36
|
options;
|
|
@@ -24,10 +43,10 @@ class Executor {
|
|
|
24
43
|
constructor(options) {
|
|
25
44
|
this.options = { ...DEFAULTS, ...options };
|
|
26
45
|
if (!this.options.adapter) {
|
|
27
|
-
throw new AdapterRequiredError();
|
|
46
|
+
throw new import_errors.AdapterRequiredError();
|
|
28
47
|
}
|
|
29
48
|
if (!this.options.job) {
|
|
30
|
-
throw new JobRequiredError();
|
|
49
|
+
throw new import_errors.JobRequiredError();
|
|
31
50
|
}
|
|
32
51
|
this.adapter = this.options.adapter;
|
|
33
52
|
this.logger = this.options.logger;
|
|
@@ -42,9 +61,9 @@ class Executor {
|
|
|
42
61
|
async perform() {
|
|
43
62
|
this.logger.info(`[CedarJS Jobs] Started job ${this.jobIdentifier}`);
|
|
44
63
|
try {
|
|
45
|
-
const job = await loadJob({ name: this.job.name, path: this.job.path });
|
|
64
|
+
const job = await (0, import_loaders.loadJob)({ name: this.job.name, path: this.job.path });
|
|
46
65
|
await job.perform(...this.job.args);
|
|
47
|
-
const runAt = this.job.cron ? CronExpressionParser.parse(this.job.cron).next().toDate() : void 0;
|
|
66
|
+
const runAt = this.job.cron ? import_cron_parser.CronExpressionParser.parse(this.job.cron).next().toDate() : void 0;
|
|
48
67
|
await this.adapter.success({
|
|
49
68
|
job: this.job,
|
|
50
69
|
runAt,
|
|
@@ -75,7 +94,8 @@ class Executor {
|
|
|
75
94
|
return 1e3 * attempts ** 4;
|
|
76
95
|
}
|
|
77
96
|
}
|
|
78
|
-
export
|
|
97
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
98
|
+
0 && (module.exports = {
|
|
79
99
|
DEFAULTS,
|
|
80
100
|
Executor
|
|
81
|
-
};
|
|
101
|
+
});
|
package/dist/core/JobManager.js
CHANGED
|
@@ -1,6 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var JobManager_exports = {};
|
|
20
|
+
__export(JobManager_exports, {
|
|
21
|
+
JobManager: () => JobManager
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(JobManager_exports);
|
|
24
|
+
var import_errors = require("../errors.js");
|
|
25
|
+
var import_Scheduler = require("./Scheduler.js");
|
|
26
|
+
var import_Worker = require("./Worker.js");
|
|
4
27
|
class JobManager {
|
|
5
28
|
adapters;
|
|
6
29
|
queues;
|
|
@@ -13,7 +36,7 @@ class JobManager {
|
|
|
13
36
|
this.workers = config.workers;
|
|
14
37
|
}
|
|
15
38
|
createScheduler(schedulerConfig) {
|
|
16
|
-
const scheduler = new Scheduler({
|
|
39
|
+
const scheduler = new import_Scheduler.Scheduler({
|
|
17
40
|
adapter: this.adapters[schedulerConfig.adapter],
|
|
18
41
|
logger: schedulerConfig.logger ?? this.logger
|
|
19
42
|
});
|
|
@@ -32,9 +55,9 @@ class JobManager {
|
|
|
32
55
|
const config = this.workers[index];
|
|
33
56
|
const adapter = this.adapters[config.adapter];
|
|
34
57
|
if (!adapter) {
|
|
35
|
-
throw new AdapterNotFoundError(config.adapter.toString());
|
|
58
|
+
throw new import_errors.AdapterNotFoundError(config.adapter.toString());
|
|
36
59
|
}
|
|
37
|
-
return new Worker({
|
|
60
|
+
return new import_Worker.Worker({
|
|
38
61
|
adapter: this.adapters[config.adapter],
|
|
39
62
|
logger: config.logger || this.logger,
|
|
40
63
|
maxAttempts: config.maxAttempts,
|
|
@@ -49,6 +72,7 @@ class JobManager {
|
|
|
49
72
|
});
|
|
50
73
|
}
|
|
51
74
|
}
|
|
52
|
-
export
|
|
75
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
76
|
+
0 && (module.exports = {
|
|
53
77
|
JobManager
|
|
54
|
-
};
|
|
78
|
+
});
|
package/dist/core/Scheduler.js
CHANGED
|
@@ -1,22 +1,36 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var Scheduler_exports = {};
|
|
20
|
+
__export(Scheduler_exports, {
|
|
21
|
+
Scheduler: () => Scheduler
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(Scheduler_exports);
|
|
24
|
+
var import_consts = require("../consts.js");
|
|
25
|
+
var import_errors = require("../errors.js");
|
|
12
26
|
class Scheduler {
|
|
13
27
|
adapter;
|
|
14
28
|
logger;
|
|
15
29
|
constructor({ adapter, logger }) {
|
|
16
|
-
this.logger = logger ?? DEFAULT_LOGGER;
|
|
30
|
+
this.logger = logger ?? import_consts.DEFAULT_LOGGER;
|
|
17
31
|
this.adapter = adapter;
|
|
18
32
|
if (!this.adapter) {
|
|
19
|
-
throw new AdapterNotConfiguredError();
|
|
33
|
+
throw new import_errors.AdapterNotConfiguredError();
|
|
20
34
|
}
|
|
21
35
|
}
|
|
22
36
|
computeRunAt({ wait, waitUntil }) {
|
|
@@ -34,12 +48,12 @@ class Scheduler {
|
|
|
34
48
|
options
|
|
35
49
|
}) {
|
|
36
50
|
const queue = job.queue;
|
|
37
|
-
const priority = job.priority ?? DEFAULT_PRIORITY;
|
|
38
|
-
const wait = options?.wait ?? DEFAULT_WAIT;
|
|
39
|
-
const waitUntil = options?.waitUntil ?? DEFAULT_WAIT_UNTIL;
|
|
51
|
+
const priority = job.priority ?? import_consts.DEFAULT_PRIORITY;
|
|
52
|
+
const wait = options?.wait ?? import_consts.DEFAULT_WAIT;
|
|
53
|
+
const waitUntil = options?.waitUntil ?? import_consts.DEFAULT_WAIT_UNTIL;
|
|
40
54
|
const cron = options?.cron;
|
|
41
55
|
if (!queue) {
|
|
42
|
-
throw new QueueNotDefinedError();
|
|
56
|
+
throw new import_errors.QueueNotDefinedError();
|
|
43
57
|
}
|
|
44
58
|
if (cron && (wait || waitUntil)) {
|
|
45
59
|
throw new Error(
|
|
@@ -71,13 +85,14 @@ class Scheduler {
|
|
|
71
85
|
await this.adapter.schedule(payload);
|
|
72
86
|
return true;
|
|
73
87
|
} catch (e) {
|
|
74
|
-
throw new SchedulingError(
|
|
88
|
+
throw new import_errors.SchedulingError(
|
|
75
89
|
`[CedarJS Jobs] Exception when scheduling ${payload.name}`,
|
|
76
90
|
e
|
|
77
91
|
);
|
|
78
92
|
}
|
|
79
93
|
}
|
|
80
94
|
}
|
|
81
|
-
export
|
|
95
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
96
|
+
0 && (module.exports = {
|
|
82
97
|
Scheduler
|
|
83
|
-
};
|
|
98
|
+
});
|
package/dist/core/Worker.js
CHANGED
|
@@ -1,22 +1,38 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var Worker_exports = {};
|
|
20
|
+
__export(Worker_exports, {
|
|
21
|
+
Worker: () => Worker
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(Worker_exports);
|
|
24
|
+
var import_node_timers = require("node:timers");
|
|
25
|
+
var import_consts = require("../consts.js");
|
|
26
|
+
var import_errors = require("../errors.js");
|
|
27
|
+
var import_Executor = require("./Executor.js");
|
|
12
28
|
const DEFAULT_OPTIONS = {
|
|
13
|
-
logger: DEFAULT_LOGGER,
|
|
29
|
+
logger: import_consts.DEFAULT_LOGGER,
|
|
14
30
|
clear: false,
|
|
15
|
-
maxAttempts: DEFAULT_MAX_ATTEMPTS,
|
|
16
|
-
maxRuntime: DEFAULT_MAX_RUNTIME,
|
|
17
|
-
deleteSuccessfulJobs: DEFAULT_DELETE_SUCCESSFUL_JOBS,
|
|
18
|
-
deleteFailedJobs: DEFAULT_DELETE_FAILED_JOBS,
|
|
19
|
-
sleepDelay: DEFAULT_SLEEP_DELAY,
|
|
31
|
+
maxAttempts: import_consts.DEFAULT_MAX_ATTEMPTS,
|
|
32
|
+
maxRuntime: import_consts.DEFAULT_MAX_RUNTIME,
|
|
33
|
+
deleteSuccessfulJobs: import_consts.DEFAULT_DELETE_SUCCESSFUL_JOBS,
|
|
34
|
+
deleteFailedJobs: import_consts.DEFAULT_DELETE_FAILED_JOBS,
|
|
35
|
+
sleepDelay: import_consts.DEFAULT_SLEEP_DELAY,
|
|
20
36
|
workoff: false,
|
|
21
37
|
forever: true
|
|
22
38
|
};
|
|
@@ -47,10 +63,10 @@ class Worker {
|
|
|
47
63
|
queues: options?.queues
|
|
48
64
|
};
|
|
49
65
|
if (!options?.adapter) {
|
|
50
|
-
throw new AdapterRequiredError();
|
|
66
|
+
throw new import_errors.AdapterRequiredError();
|
|
51
67
|
}
|
|
52
68
|
if (!options?.queues || options.queues.length === 0) {
|
|
53
|
-
throw new QueuesRequiredError();
|
|
69
|
+
throw new import_errors.QueuesRequiredError();
|
|
54
70
|
}
|
|
55
71
|
this.adapter = this.options.adapter;
|
|
56
72
|
this.logger = this.options.logger;
|
|
@@ -98,7 +114,7 @@ class Worker {
|
|
|
98
114
|
queues: this.queues
|
|
99
115
|
});
|
|
100
116
|
if (job) {
|
|
101
|
-
await new Executor({
|
|
117
|
+
await new import_Executor.Executor({
|
|
102
118
|
adapter: this.adapter,
|
|
103
119
|
logger: this.logger,
|
|
104
120
|
job,
|
|
@@ -118,9 +134,10 @@ class Worker {
|
|
|
118
134
|
} while (this.forever);
|
|
119
135
|
}
|
|
120
136
|
#wait(ms) {
|
|
121
|
-
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
137
|
+
return new Promise((resolve) => (0, import_node_timers.setTimeout)(resolve, ms));
|
|
122
138
|
}
|
|
123
139
|
}
|
|
124
|
-
export
|
|
140
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
141
|
+
0 && (module.exports = {
|
|
125
142
|
Worker
|
|
126
|
-
};
|
|
143
|
+
});
|
package/dist/errors.js
CHANGED
|
@@ -1,3 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var errors_exports = {};
|
|
20
|
+
__export(errors_exports, {
|
|
21
|
+
AdapterNotConfiguredError: () => AdapterNotConfiguredError,
|
|
22
|
+
AdapterNotFoundError: () => AdapterNotFoundError,
|
|
23
|
+
AdapterRequiredError: () => AdapterRequiredError,
|
|
24
|
+
CedarJSJobsError: () => CedarJSJobsError,
|
|
25
|
+
JobExportNotFoundError: () => JobExportNotFoundError,
|
|
26
|
+
JobNotFoundError: () => JobNotFoundError,
|
|
27
|
+
JobRequiredError: () => JobRequiredError,
|
|
28
|
+
JobsLibNotFoundError: () => JobsLibNotFoundError,
|
|
29
|
+
LoggerNotFoundError: () => LoggerNotFoundError,
|
|
30
|
+
PerformError: () => PerformError,
|
|
31
|
+
QueueNotDefinedError: () => QueueNotDefinedError,
|
|
32
|
+
QueuesRequiredError: () => QueuesRequiredError,
|
|
33
|
+
RethrownJobError: () => RethrownJobError,
|
|
34
|
+
SchedulingError: () => SchedulingError,
|
|
35
|
+
WorkerConfigIndexNotFoundError: () => WorkerConfigIndexNotFoundError,
|
|
36
|
+
WorkerConfigNotFoundError: () => WorkerConfigNotFoundError
|
|
37
|
+
});
|
|
38
|
+
module.exports = __toCommonJS(errors_exports);
|
|
1
39
|
const JOBS_CONFIG_FILENAME = "jobs.{ts,js}";
|
|
2
40
|
class CedarJSJobsError extends Error {
|
|
3
41
|
constructor(message) {
|
|
@@ -97,7 +135,8 @@ class WorkerConfigIndexNotFoundError extends CedarJSJobsError {
|
|
|
97
135
|
super(`Worker index ${index} not found in jobs config`);
|
|
98
136
|
}
|
|
99
137
|
}
|
|
100
|
-
export
|
|
138
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
139
|
+
0 && (module.exports = {
|
|
101
140
|
AdapterNotConfiguredError,
|
|
102
141
|
AdapterNotFoundError,
|
|
103
142
|
AdapterRequiredError,
|
|
@@ -114,4 +153,4 @@ export {
|
|
|
114
153
|
SchedulingError,
|
|
115
154
|
WorkerConfigIndexNotFoundError,
|
|
116
155
|
WorkerConfigNotFoundError
|
|
117
|
-
};
|
|
156
|
+
});
|
package/dist/index.js
CHANGED
|
@@ -1,13 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
var index_exports = {};
|
|
21
|
+
__export(index_exports, {
|
|
22
|
+
BaseAdapter: () => import_BaseAdapter.BaseAdapter,
|
|
23
|
+
Executor: () => import_Executor.Executor,
|
|
24
|
+
JobManager: () => import_JobManager.JobManager,
|
|
25
|
+
PrismaAdapter: () => import_PrismaAdapter.PrismaAdapter,
|
|
26
|
+
Worker: () => import_Worker.Worker
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(index_exports);
|
|
29
|
+
__reExport(index_exports, require("./errors.js"), module.exports);
|
|
30
|
+
var import_JobManager = require("./core/JobManager.js");
|
|
31
|
+
var import_Executor = require("./core/Executor.js");
|
|
32
|
+
var import_Worker = require("./core/Worker.js");
|
|
33
|
+
var import_BaseAdapter = require("./adapters/BaseAdapter/BaseAdapter.js");
|
|
34
|
+
var import_PrismaAdapter = require("./adapters/PrismaAdapter/PrismaAdapter.js");
|
|
35
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
36
|
+
0 && (module.exports = {
|
|
8
37
|
BaseAdapter,
|
|
9
38
|
Executor,
|
|
10
39
|
JobManager,
|
|
11
40
|
PrismaAdapter,
|
|
12
|
-
Worker
|
|
13
|
-
|
|
41
|
+
Worker,
|
|
42
|
+
...require("./errors.js")
|
|
43
|
+
});
|
package/dist/loaders.js
CHANGED
|
@@ -1,17 +1,51 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var loaders_exports = {};
|
|
30
|
+
__export(loaders_exports, {
|
|
31
|
+
loadJob: () => loadJob,
|
|
32
|
+
loadJobsManager: () => loadJobsManager
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(loaders_exports);
|
|
35
|
+
var import_node_fs = __toESM(require("node:fs"));
|
|
36
|
+
var import_node_path = __toESM(require("node:path"));
|
|
37
|
+
var import_project_config = require("@cedarjs/project-config");
|
|
38
|
+
var import_errors = require("./errors.js");
|
|
39
|
+
var import_util = require("./util.js");
|
|
6
40
|
const loadJobsManager = async () => {
|
|
7
|
-
const jobsConfigPath = getPaths().api.distJobsConfig;
|
|
41
|
+
const jobsConfigPath = (0, import_project_config.getPaths)().api.distJobsConfig;
|
|
8
42
|
if (!jobsConfigPath) {
|
|
9
|
-
throw new JobsLibNotFoundError();
|
|
43
|
+
throw new import_errors.JobsLibNotFoundError();
|
|
10
44
|
}
|
|
11
|
-
const importPath = makeFilePath(jobsConfigPath);
|
|
45
|
+
const importPath = (0, import_util.makeFilePath)(jobsConfigPath);
|
|
12
46
|
const { jobs } = await import(importPath);
|
|
13
47
|
if (!jobs) {
|
|
14
|
-
throw new JobsLibNotFoundError();
|
|
48
|
+
throw new import_errors.JobsLibNotFoundError();
|
|
15
49
|
}
|
|
16
50
|
return jobs;
|
|
17
51
|
};
|
|
@@ -19,18 +53,19 @@ const loadJob = async ({
|
|
|
19
53
|
name: jobName,
|
|
20
54
|
path: jobPath
|
|
21
55
|
}) => {
|
|
22
|
-
const completeJobPath =
|
|
23
|
-
if (!
|
|
24
|
-
throw new JobNotFoundError(jobName);
|
|
56
|
+
const completeJobPath = import_node_path.default.join((0, import_project_config.getPaths)().api.distJobs, jobPath) + ".js";
|
|
57
|
+
if (!import_node_fs.default.existsSync(completeJobPath)) {
|
|
58
|
+
throw new import_errors.JobNotFoundError(jobName);
|
|
25
59
|
}
|
|
26
|
-
const importPath = makeFilePath(completeJobPath);
|
|
60
|
+
const importPath = (0, import_util.makeFilePath)(completeJobPath);
|
|
27
61
|
const jobModule = await import(importPath);
|
|
28
62
|
if (!jobModule[jobName]) {
|
|
29
|
-
throw new JobNotFoundError(jobName);
|
|
63
|
+
throw new import_errors.JobNotFoundError(jobName);
|
|
30
64
|
}
|
|
31
65
|
return jobModule[jobName];
|
|
32
66
|
};
|
|
33
|
-
export
|
|
67
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
68
|
+
0 && (module.exports = {
|
|
34
69
|
loadJob,
|
|
35
70
|
loadJobsManager
|
|
36
|
-
};
|
|
71
|
+
});
|
package/dist/setupEnv.js
CHANGED
|
@@ -1,10 +1,34 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var setupEnv_exports = {};
|
|
20
|
+
__export(setupEnv_exports, {
|
|
21
|
+
setupEnv: () => setupEnv
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(setupEnv_exports);
|
|
24
|
+
var import_loadEnvFiles = require("@cedarjs/cli-helpers/loadEnvFiles");
|
|
2
25
|
const setupEnv = () => {
|
|
3
|
-
loadEnvFiles();
|
|
26
|
+
(0, import_loadEnvFiles.loadEnvFiles)();
|
|
4
27
|
if (process.env.NODE_ENV === void 0) {
|
|
5
28
|
process.env.NODE_ENV = "development";
|
|
6
29
|
}
|
|
7
30
|
};
|
|
8
|
-
export
|
|
31
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
32
|
+
0 && (module.exports = {
|
|
9
33
|
setupEnv
|
|
10
|
-
};
|
|
34
|
+
});
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IntRange } from 'type-fest'
|
|
1
|
+
import type { IntRange } from 'type-fest' assert { 'resolution-mode': 'import' };
|
|
2
2
|
import type { BaseAdapter } from './adapters/BaseAdapter/BaseAdapter.js';
|
|
3
3
|
/** CedarJS's logger and the standard console logger conform to this shape. */
|
|
4
4
|
export interface BasicLogger {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
+
var types_exports = {};
|
|
16
|
+
module.exports = __toCommonJS(types_exports);
|
package/dist/util.js
CHANGED
|
@@ -1,7 +1,31 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var util_exports = {};
|
|
20
|
+
__export(util_exports, {
|
|
21
|
+
makeFilePath: () => makeFilePath
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(util_exports);
|
|
24
|
+
var import_node_url = require("node:url");
|
|
2
25
|
function makeFilePath(path) {
|
|
3
|
-
return pathToFileURL(path).href;
|
|
26
|
+
return (0, import_node_url.pathToFileURL)(path).href;
|
|
4
27
|
}
|
|
5
|
-
export
|
|
28
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
29
|
+
0 && (module.exports = {
|
|
6
30
|
makeFilePath
|
|
7
|
-
};
|
|
31
|
+
});
|
package/package.json
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cedarjs/jobs",
|
|
3
|
-
"version": "5.0.4
|
|
3
|
+
"version": "5.0.4",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/cedarjs/cedar.git",
|
|
7
7
|
"directory": "packages/jobs"
|
|
8
8
|
},
|
|
9
9
|
"license": "MIT",
|
|
10
|
-
"type": "
|
|
10
|
+
"type": "commonjs",
|
|
11
11
|
"exports": {
|
|
12
12
|
".": {
|
|
13
|
-
"
|
|
14
|
-
|
|
13
|
+
"default": {
|
|
14
|
+
"types": "./dist/index.d.ts",
|
|
15
|
+
"default": "./dist/index.js"
|
|
16
|
+
}
|
|
15
17
|
},
|
|
16
18
|
"./package.json": "./package.json"
|
|
17
19
|
},
|
|
@@ -26,7 +28,7 @@
|
|
|
26
28
|
"dist"
|
|
27
29
|
],
|
|
28
30
|
"scripts": {
|
|
29
|
-
"build": "node ./build.mts",
|
|
31
|
+
"build": "node ./build.mts && yarn build:types",
|
|
30
32
|
"build:pack": "yarn pack -o cedarjs-jobs.tgz",
|
|
31
33
|
"build:types": "tsc --build --verbose ./tsconfig.build.json",
|
|
32
34
|
"build:watch": "nodemon --watch src --ext \"js,jsx,ts,tsx\" --ignore dist --exec \"yarn build\"",
|
|
@@ -37,18 +39,18 @@
|
|
|
37
39
|
"test:watch": "vitest"
|
|
38
40
|
},
|
|
39
41
|
"dependencies": {
|
|
40
|
-
"@cedarjs/cli-helpers": "5.0.4
|
|
41
|
-
"@cedarjs/project-config": "5.0.4
|
|
42
|
-
"cron-parser": "5.
|
|
42
|
+
"@cedarjs/cli-helpers": "5.0.4",
|
|
43
|
+
"@cedarjs/project-config": "5.0.4",
|
|
44
|
+
"cron-parser": "5.5.0",
|
|
43
45
|
"type-fest": "5.6.0"
|
|
44
46
|
},
|
|
45
47
|
"devDependencies": {
|
|
46
|
-
"@cedarjs/framework-tools": "5.0.4
|
|
48
|
+
"@cedarjs/framework-tools": "5.0.4",
|
|
47
49
|
"@prisma/client": "7.8.0",
|
|
48
50
|
"concurrently": "9.2.4",
|
|
49
|
-
"publint": "0.3.
|
|
51
|
+
"publint": "0.3.21",
|
|
50
52
|
"typescript": "5.9.3",
|
|
51
|
-
"vitest": "
|
|
53
|
+
"vitest": "3.2.6"
|
|
52
54
|
},
|
|
53
55
|
"engines": {
|
|
54
56
|
"node": ">=24"
|