@sidequest/engine 1.14.1 → 1.15.1
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/constants.cjs +7 -0
- package/dist/constants.cjs.map +1 -1
- package/dist/constants.d.ts +7 -1
- package/dist/constants.js +7 -1
- package/dist/constants.js.map +1 -1
- package/dist/engine.cjs +4 -1
- package/dist/engine.cjs.map +1 -1
- package/dist/engine.js +5 -2
- package/dist/engine.js.map +1 -1
- package/dist/index.cjs +1 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/job/constants.cjs +1 -0
- package/dist/job/constants.cjs.map +1 -1
- package/dist/job/constants.js +1 -0
- package/dist/job/constants.js.map +1 -1
- package/dist/job/job-builder.cjs +23 -1
- package/dist/job/job-builder.cjs.map +1 -1
- package/dist/job/job-builder.d.ts +21 -1
- package/dist/job/job-builder.js +23 -1
- package/dist/job/job-builder.js.map +1 -1
- package/dist/workers/main.cjs +6 -1
- package/dist/workers/main.cjs.map +1 -1
- package/dist/workers/main.js +6 -1
- package/dist/workers/main.js.map +1 -1
- package/package.json +4 -4
package/dist/constants.cjs
CHANGED
|
@@ -4,7 +4,14 @@ var path = require('path');
|
|
|
4
4
|
|
|
5
5
|
const DEFAULT_WORKER_PATH = path.resolve(__dirname, "workers", "main.cjs");
|
|
6
6
|
const DEFAULT_RUNNER_PATH = path.resolve(__dirname, "shared-runner", "runner.cjs");
|
|
7
|
+
/**
|
|
8
|
+
* argv flag the engine passes when it forks the main worker. The worker module gates its
|
|
9
|
+
* bootstrap on this flag instead of `!!process.send`, so it stays inert when merely imported
|
|
10
|
+
* inside another forked process (e.g. a Vitest `pool: 'forks'` test worker).
|
|
11
|
+
*/
|
|
12
|
+
const WORKER_PROCESS_FLAG = "--sidequest-worker";
|
|
7
13
|
|
|
8
14
|
exports.DEFAULT_RUNNER_PATH = DEFAULT_RUNNER_PATH;
|
|
9
15
|
exports.DEFAULT_WORKER_PATH = DEFAULT_WORKER_PATH;
|
|
16
|
+
exports.WORKER_PROCESS_FLAG = WORKER_PROCESS_FLAG;
|
|
10
17
|
//# sourceMappingURL=constants.cjs.map
|
package/dist/constants.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.cjs","sources":["../src/constants.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAEO,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAmB,EAAE,SAAA,EAAA,UAAoB;AAClF,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAmB,EAAE,eAAA,EAAA,YAA4B
|
|
1
|
+
{"version":3,"file":"constants.cjs","sources":["../src/constants.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAEO,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAmB,EAAE,SAAA,EAAA,UAAoB;AAClF,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAmB,EAAE,eAAA,EAAA,YAA4B;AAEjG;;;;AAIG;AACI,MAAM,mBAAmB,GAAG;;;;;;"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
declare const DEFAULT_WORKER_PATH: string;
|
|
2
2
|
declare const DEFAULT_RUNNER_PATH: string;
|
|
3
|
+
/**
|
|
4
|
+
* argv flag the engine passes when it forks the main worker. The worker module gates its
|
|
5
|
+
* bootstrap on this flag instead of `!!process.send`, so it stays inert when merely imported
|
|
6
|
+
* inside another forked process (e.g. a Vitest `pool: 'forks'` test worker).
|
|
7
|
+
*/
|
|
8
|
+
declare const WORKER_PROCESS_FLAG = "--sidequest-worker";
|
|
3
9
|
|
|
4
|
-
export { DEFAULT_RUNNER_PATH, DEFAULT_WORKER_PATH };
|
|
10
|
+
export { DEFAULT_RUNNER_PATH, DEFAULT_WORKER_PATH, WORKER_PROCESS_FLAG };
|
package/dist/constants.js
CHANGED
|
@@ -2,6 +2,12 @@ import path from 'path';
|
|
|
2
2
|
|
|
3
3
|
const DEFAULT_WORKER_PATH = path.resolve(import.meta.dirname, "workers", "main.js");
|
|
4
4
|
const DEFAULT_RUNNER_PATH = path.resolve(import.meta.dirname, "shared-runner", "runner.js");
|
|
5
|
+
/**
|
|
6
|
+
* argv flag the engine passes when it forks the main worker. The worker module gates its
|
|
7
|
+
* bootstrap on this flag instead of `!!process.send`, so it stays inert when merely imported
|
|
8
|
+
* inside another forked process (e.g. a Vitest `pool: 'forks'` test worker).
|
|
9
|
+
*/
|
|
10
|
+
const WORKER_PROCESS_FLAG = "--sidequest-worker";
|
|
5
11
|
|
|
6
|
-
export { DEFAULT_RUNNER_PATH, DEFAULT_WORKER_PATH };
|
|
12
|
+
export { DEFAULT_RUNNER_PATH, DEFAULT_WORKER_PATH, WORKER_PROCESS_FLAG };
|
|
7
13
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../src/constants.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEO,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS;AAClF,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,WAAW;;;;"}
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../src/constants.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEO,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS;AAClF,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,WAAW;AAEjG;;;;AAIG;AACI,MAAM,mBAAmB,GAAG;;;;"}
|
package/dist/engine.cjs
CHANGED
|
@@ -72,6 +72,9 @@ class Engine {
|
|
|
72
72
|
availableAt: config?.jobDefaults?.availableAt,
|
|
73
73
|
timeout: config?.jobDefaults?.timeout ?? constants.JOB_BUILDER_FALLBACK.timeout,
|
|
74
74
|
uniqueness: config?.jobDefaults?.uniqueness ?? constants.JOB_BUILDER_FALLBACK.uniqueness,
|
|
75
|
+
backoffStrategy: config?.jobDefaults?.backoffStrategy ?? constants.JOB_BUILDER_FALLBACK.backoffStrategy,
|
|
76
|
+
retryDelay: config?.jobDefaults?.retryDelay ?? constants.JOB_BUILDER_FALLBACK.retryDelay,
|
|
77
|
+
scheduleOptions: config?.jobDefaults?.scheduleOptions ?? constants.JOB_BUILDER_FALLBACK.scheduleOptions,
|
|
75
78
|
},
|
|
76
79
|
queueDefaults: {
|
|
77
80
|
concurrency: config?.queueDefaults?.concurrency ?? backend.QUEUE_FALLBACK.concurrency,
|
|
@@ -153,7 +156,7 @@ class Engine {
|
|
|
153
156
|
if (!this.mainWorker) {
|
|
154
157
|
const runWorker = () => {
|
|
155
158
|
core.logger("Engine").debug("Starting main worker...");
|
|
156
|
-
this.mainWorker = child_process.fork(constants$1.DEFAULT_WORKER_PATH);
|
|
159
|
+
this.mainWorker = child_process.fork(constants$1.DEFAULT_WORKER_PATH, [constants$1.WORKER_PROCESS_FLAG]);
|
|
157
160
|
core.logger("Engine").debug(`Worker PID: ${this.mainWorker.pid}`);
|
|
158
161
|
this.mainWorker.on("message", (msg) => {
|
|
159
162
|
if (msg === "ready") {
|
package/dist/engine.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.cjs","sources":["../src/engine.ts"],"sourcesContent":[null],"names":["logger","cpus","MISC_FALLBACK","JOB_BUILDER_FALLBACK","QUEUE_FALLBACK","dependencyRegistry","Dependency","inspect","configureLogger","backend","LazyBackend","resolveScriptPath","existsSync","fileURLToPath","findSidequestJobsScriptInParentDirs","grantQueueConfig","fork","DEFAULT_WORKER_PATH","gracefulShutdown","ScheduledJobRegistry","clearGracefulShutdown","JobBuilder"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAmHA;;AAEG;MACU,MAAM,CAAA;AACjB;;;AAGG;AACK,IAAA,UAAU;AAElB;;;AAGG;IACK,YAAY,GAAG,KAAK;AAE5B;;;;AAIG;IACH,MAAM,SAAS,CAAC,MAAqB,EAAA;AACnC,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;YACpBA,WAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,8BAA8B,CAAC;AACtD,YAAA,OAAO,IAAI,CAAC,SAAS,EAAG;QAC1B;AACA,QAAA,MAAM,aAAa,GAA4B;AAC7C,YAAA,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE;AAC5B,YAAA,OAAO,EAAE;AACP,gBAAA,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,2BAA2B;AAC9D,gBAAA,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,oBAAoB;AACxD,aAAA;AACD,YAAA,8BAA8B,EAAE,MAAM,EAAE,8BAA8B,IAAI,EAAE;AAC5E,YAAA,4BAA4B,EAAE,MAAM,EAAE,4BAA4B,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;AAC9F,YAAA,2BAA2B,EAAE,MAAM,EAAE,2BAA2B,IAAI,EAAE;AACtE,YAAA,iBAAiB,EAAE,MAAM,EAAE,iBAAiB,IAAI,EAAE;AAClD,YAAA,aAAa,EAAE,MAAM,EAAE,aAAa,IAAI,KAAK;AAC7C,YAAA,MAAM,EAAE;AACN,gBAAA,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,MAAM;AACtC,gBAAA,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,IAAI,KAAK;AACpC,aAAA;AACD,YAAA,gBAAgB,EAAE,MAAM,EAAE,gBAAgB,IAAI,IAAI;YAClD,UAAU,EAAE,MAAM,EAAE,UAAU,IAAIC,OAAI,EAAE,CAAC,MAAM;YAC/C,UAAU,EAAE,MAAM,EAAE,UAAU,IAAIA,OAAI,EAAE,CAAC,MAAM,GAAG,CAAC;AACnD,YAAA,iBAAiB,EAAE,MAAM,EAAE,iBAAiB,IAAI,MAAM;YACtD,0BAA0B,EAAE,MAAM,EAAE,0BAA0B,IAAIC,qBAAa,CAAC,UAAU;YAC1F,4BAA4B,EAAE,MAAM,EAAE,4BAA4B,IAAIA,qBAAa,CAAC,YAAY;AAChG,YAAA,WAAW,EAAE;gBACX,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,IAAIC,8BAAoB,CAAC,KAAM;gBAChE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,IAAIA,8BAAoB,CAAC,WAAY;;;AAGlF,gBAAA,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW;gBAC7C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,IAAIA,8BAAoB,CAAC,OAAQ;gBACtE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,IAAIA,8BAAoB,CAAC,UAAW;
|
|
1
|
+
{"version":3,"file":"engine.cjs","sources":["../src/engine.ts"],"sourcesContent":[null],"names":["logger","cpus","MISC_FALLBACK","JOB_BUILDER_FALLBACK","QUEUE_FALLBACK","dependencyRegistry","Dependency","inspect","configureLogger","backend","LazyBackend","resolveScriptPath","existsSync","fileURLToPath","findSidequestJobsScriptInParentDirs","grantQueueConfig","fork","DEFAULT_WORKER_PATH","WORKER_PROCESS_FLAG","gracefulShutdown","ScheduledJobRegistry","clearGracefulShutdown","JobBuilder"],"mappings":"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"}
|
package/dist/engine.js
CHANGED
|
@@ -5,7 +5,7 @@ import { existsSync } from 'fs';
|
|
|
5
5
|
import { cpus } from 'os';
|
|
6
6
|
import { fileURLToPath } from 'url';
|
|
7
7
|
import { inspect } from 'util';
|
|
8
|
-
import { DEFAULT_WORKER_PATH } from './constants.js';
|
|
8
|
+
import { DEFAULT_WORKER_PATH, WORKER_PROCESS_FLAG } from './constants.js';
|
|
9
9
|
import { dependencyRegistry, Dependency } from './dependency-registry.js';
|
|
10
10
|
import { JOB_BUILDER_FALLBACK } from './job/constants.js';
|
|
11
11
|
import { ScheduledJobRegistry } from './job/cron-registry.js';
|
|
@@ -70,6 +70,9 @@ class Engine {
|
|
|
70
70
|
availableAt: config?.jobDefaults?.availableAt,
|
|
71
71
|
timeout: config?.jobDefaults?.timeout ?? JOB_BUILDER_FALLBACK.timeout,
|
|
72
72
|
uniqueness: config?.jobDefaults?.uniqueness ?? JOB_BUILDER_FALLBACK.uniqueness,
|
|
73
|
+
backoffStrategy: config?.jobDefaults?.backoffStrategy ?? JOB_BUILDER_FALLBACK.backoffStrategy,
|
|
74
|
+
retryDelay: config?.jobDefaults?.retryDelay ?? JOB_BUILDER_FALLBACK.retryDelay,
|
|
75
|
+
scheduleOptions: config?.jobDefaults?.scheduleOptions ?? JOB_BUILDER_FALLBACK.scheduleOptions,
|
|
73
76
|
},
|
|
74
77
|
queueDefaults: {
|
|
75
78
|
concurrency: config?.queueDefaults?.concurrency ?? QUEUE_FALLBACK.concurrency,
|
|
@@ -151,7 +154,7 @@ class Engine {
|
|
|
151
154
|
if (!this.mainWorker) {
|
|
152
155
|
const runWorker = () => {
|
|
153
156
|
logger("Engine").debug("Starting main worker...");
|
|
154
|
-
this.mainWorker = fork(DEFAULT_WORKER_PATH);
|
|
157
|
+
this.mainWorker = fork(DEFAULT_WORKER_PATH, [WORKER_PROCESS_FLAG]);
|
|
155
158
|
logger("Engine").debug(`Worker PID: ${this.mainWorker.pid}`);
|
|
156
159
|
this.mainWorker.on("message", (msg) => {
|
|
157
160
|
if (msg === "ready") {
|
package/dist/engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sources":["../src/engine.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAmHA;;AAEG;MACU,MAAM,CAAA;AACjB;;;AAGG;AACK,IAAA,UAAU;AAElB;;;AAGG;IACK,YAAY,GAAG,KAAK;AAE5B;;;;AAIG;IACH,MAAM,SAAS,CAAC,MAAqB,EAAA;AACnC,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;YACpB,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,8BAA8B,CAAC;AACtD,YAAA,OAAO,IAAI,CAAC,SAAS,EAAG;QAC1B;AACA,QAAA,MAAM,aAAa,GAA4B;AAC7C,YAAA,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE;AAC5B,YAAA,OAAO,EAAE;AACP,gBAAA,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,2BAA2B;AAC9D,gBAAA,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,oBAAoB;AACxD,aAAA;AACD,YAAA,8BAA8B,EAAE,MAAM,EAAE,8BAA8B,IAAI,EAAE;AAC5E,YAAA,4BAA4B,EAAE,MAAM,EAAE,4BAA4B,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;AAC9F,YAAA,2BAA2B,EAAE,MAAM,EAAE,2BAA2B,IAAI,EAAE;AACtE,YAAA,iBAAiB,EAAE,MAAM,EAAE,iBAAiB,IAAI,EAAE;AAClD,YAAA,aAAa,EAAE,MAAM,EAAE,aAAa,IAAI,KAAK;AAC7C,YAAA,MAAM,EAAE;AACN,gBAAA,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,MAAM;AACtC,gBAAA,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,IAAI,KAAK;AACpC,aAAA;AACD,YAAA,gBAAgB,EAAE,MAAM,EAAE,gBAAgB,IAAI,IAAI;YAClD,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,IAAI,EAAE,CAAC,MAAM;YAC/C,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;AACnD,YAAA,iBAAiB,EAAE,MAAM,EAAE,iBAAiB,IAAI,MAAM;YACtD,0BAA0B,EAAE,MAAM,EAAE,0BAA0B,IAAI,aAAa,CAAC,UAAU;YAC1F,4BAA4B,EAAE,MAAM,EAAE,4BAA4B,IAAI,aAAa,CAAC,YAAY;AAChG,YAAA,WAAW,EAAE;gBACX,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,IAAI,oBAAoB,CAAC,KAAM;gBAChE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,IAAI,oBAAoB,CAAC,WAAY;;;AAGlF,gBAAA,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW;gBAC7C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,IAAI,oBAAoB,CAAC,OAAQ;gBACtE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,IAAI,oBAAoB,CAAC,UAAW;
|
|
1
|
+
{"version":3,"file":"engine.js","sources":["../src/engine.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/index.cjs
CHANGED
|
@@ -23,6 +23,7 @@ var main = require('./workers/main.cjs');
|
|
|
23
23
|
|
|
24
24
|
exports.DEFAULT_RUNNER_PATH = constants.DEFAULT_RUNNER_PATH;
|
|
25
25
|
exports.DEFAULT_WORKER_PATH = constants.DEFAULT_WORKER_PATH;
|
|
26
|
+
exports.WORKER_PROCESS_FLAG = constants.WORKER_PROCESS_FLAG;
|
|
26
27
|
exports.Engine = engine.Engine;
|
|
27
28
|
exports.Dispatcher = dispatcher.Dispatcher;
|
|
28
29
|
exports.ExecutorManager = executorManager.ExecutorManager;
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { DEFAULT_RUNNER_PATH, DEFAULT_WORKER_PATH } from './constants.js';
|
|
1
|
+
export { DEFAULT_RUNNER_PATH, DEFAULT_WORKER_PATH, WORKER_PROCESS_FLAG } from './constants.js';
|
|
2
2
|
export { Engine, EngineConfig, NonNullableEngineConfig } from './engine.js';
|
|
3
3
|
export { Dispatcher } from './execution/dispatcher.js';
|
|
4
4
|
export { ExecutorManager } from './execution/executor-manager.js';
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { DEFAULT_RUNNER_PATH, DEFAULT_WORKER_PATH } from './constants.js';
|
|
1
|
+
export { DEFAULT_RUNNER_PATH, DEFAULT_WORKER_PATH, WORKER_PROCESS_FLAG } from './constants.js';
|
|
2
2
|
export { Engine } from './engine.js';
|
|
3
3
|
export { Dispatcher } from './execution/dispatcher.js';
|
|
4
4
|
export { ExecutorManager } from './execution/executor-manager.js';
|
package/dist/job/constants.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.cjs","sources":["../../src/job/constants.ts"],"sourcesContent":[null],"names":["JOB_FALLBACK"],"mappings":";;;;AAGA;;;;;;;;;;;;AAYG;AACI,MAAM,oBAAoB,GAAwD;AACvF,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,UAAU,EAAE,KAAK;IACjB,WAAW,EAAEA,oBAAY,CAAC,YAAY;AACtC,IAAA,IAAI,WAAW,GAAA;QACb,OAAO,IAAI,IAAI,EAAE;IACnB,CAAC;AACD,IAAA,eAAe,EAAE,EAAE;AACnB,IAAA,UAAU,EAAE,IAAI;IAChB,eAAe,EAAEA,oBAAY,CAAC,gBAAgB;;;;;"}
|
|
1
|
+
{"version":3,"file":"constants.cjs","sources":["../../src/job/constants.ts"],"sourcesContent":[null],"names":["JOB_FALLBACK"],"mappings":";;;;AAGA;;;;;;;;;;;;AAYG;AACI,MAAM,oBAAoB,GAAwD;AACvF,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,UAAU,EAAE,KAAK;IACjB,WAAW,EAAEA,oBAAY,CAAC,YAAY;AACtC,IAAA,IAAI,WAAW,GAAA;QACb,OAAO,IAAI,IAAI,EAAE;IACnB,CAAC;AACD,IAAA,eAAe,EAAE,EAAE;AACnB,IAAA,UAAU,EAAE,IAAI;IAChB,eAAe,EAAEA,oBAAY,CAAC,gBAAgB;AAC9C,IAAA,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;;;;;"}
|
package/dist/job/constants.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../src/job/constants.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA;;;;;;;;;;;;AAYG;AACI,MAAM,oBAAoB,GAAwD;AACvF,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,UAAU,EAAE,KAAK;IACjB,WAAW,EAAE,YAAY,CAAC,YAAY;AACtC,IAAA,IAAI,WAAW,GAAA;QACb,OAAO,IAAI,IAAI,EAAE;IACnB,CAAC;AACD,IAAA,eAAe,EAAE,EAAE;AACnB,IAAA,UAAU,EAAE,IAAI;IAChB,eAAe,EAAE,YAAY,CAAC,gBAAgB;;;;;"}
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../src/job/constants.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA;;;;;;;;;;;;AAYG;AACI,MAAM,oBAAoB,GAAwD;AACvF,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,UAAU,EAAE,KAAK;IACjB,WAAW,EAAE,YAAY,CAAC,YAAY;AACtC,IAAA,IAAI,WAAW,GAAA;QACb,OAAO,IAAI,IAAI,EAAE;IACnB,CAAC;AACD,IAAA,eAAe,EAAE,EAAE;AACnB,IAAA,UAAU,EAAE,IAAI;IAChB,eAAe,EAAE,YAAY,CAAC,gBAAgB;AAC9C,IAAA,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;;;;;"}
|
package/dist/job/job-builder.cjs
CHANGED
|
@@ -28,6 +28,7 @@ class JobBuilder {
|
|
|
28
28
|
jobAvailableAt;
|
|
29
29
|
jobRetryDelay;
|
|
30
30
|
jobBackoffStrategy;
|
|
31
|
+
jobScheduleOptions;
|
|
31
32
|
/**
|
|
32
33
|
* Creates a new JobBuilder for the given job class.
|
|
33
34
|
* @param JobClass The job class constructor.
|
|
@@ -45,6 +46,7 @@ class JobBuilder {
|
|
|
45
46
|
this.with(...constants.JOB_BUILDER_FALLBACK.constructorArgs);
|
|
46
47
|
this.retryDelay(this.defaults?.retryDelay ?? constants.JOB_BUILDER_FALLBACK.retryDelay);
|
|
47
48
|
this.backoffStrategy(this.defaults?.backoffStrategy ?? constants.JOB_BUILDER_FALLBACK.backoffStrategy);
|
|
49
|
+
this.scheduleOptions(this.defaults?.scheduleOptions ?? constants.JOB_BUILDER_FALLBACK.scheduleOptions);
|
|
48
50
|
}
|
|
49
51
|
/**
|
|
50
52
|
* Sets the constructor arguments for the job.
|
|
@@ -152,6 +154,26 @@ class JobBuilder {
|
|
|
152
154
|
this.jobBackoffStrategy = value;
|
|
153
155
|
return this;
|
|
154
156
|
}
|
|
157
|
+
/**
|
|
158
|
+
* Sets node-cron schedule options used by {@link schedule}.
|
|
159
|
+
*
|
|
160
|
+
* @remarks
|
|
161
|
+
* `noOverlap` defaults to `true` if not explicitly set here or in the builder defaults.
|
|
162
|
+
*
|
|
163
|
+
* @param options node-cron `TaskOptions` (e.g. `timezone`, `noOverlap`).
|
|
164
|
+
* @returns This builder instance.
|
|
165
|
+
*
|
|
166
|
+
* @example
|
|
167
|
+
* ```typescript
|
|
168
|
+
* Sidequest.build(MyJob)
|
|
169
|
+
* .scheduleOptions({ timezone: "Australia/Brisbane" })
|
|
170
|
+
* .schedule("0 9 * * *");
|
|
171
|
+
* ```
|
|
172
|
+
*/
|
|
173
|
+
scheduleOptions(options) {
|
|
174
|
+
this.jobScheduleOptions = options;
|
|
175
|
+
return this;
|
|
176
|
+
}
|
|
155
177
|
async build(...args) {
|
|
156
178
|
const job = new this.JobClass(...this.constructorArgs);
|
|
157
179
|
if (!this.manualJobResolution) {
|
|
@@ -236,7 +258,7 @@ class JobBuilder {
|
|
|
236
258
|
const newJobData = Object.assign({}, jobData);
|
|
237
259
|
core.logger("JobBuilder").debug(`Cron triggered for job ${newJobData.class} at ${newJobData.available_at.toISOString()} with args: ${node_util.inspect(args)}`);
|
|
238
260
|
return this.backend.createNewJob(jobData);
|
|
239
|
-
},
|
|
261
|
+
}, this.jobScheduleOptions);
|
|
240
262
|
// Register the scheduled task with the ScheduledJobRegistry for proper later cleanup
|
|
241
263
|
cronRegistry.ScheduledJobRegistry.register(scheduledTask);
|
|
242
264
|
return scheduledTask;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-builder.cjs","sources":["../../src/job/job-builder.ts"],"sourcesContent":[null],"names":["JOB_BUILDER_FALLBACK","MANUAL_SCRIPT_TAG","UniquenessFactory","logger","inspect","ScheduledJobRegistry"],"mappings":";;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"job-builder.cjs","sources":["../../src/job/job-builder.ts"],"sourcesContent":[null],"names":["JOB_BUILDER_FALLBACK","MANUAL_SCRIPT_TAG","UniquenessFactory","logger","inspect","ScheduledJobRegistry"],"mappings":";;;;;;;;;;;;;AAoEA;;;AAGG;MACU,UAAU,CAAA;AAgBT,IAAA,OAAA;AACA,IAAA,QAAA;AACA,IAAA,QAAA;AACA,IAAA,mBAAA;AAlBF,IAAA,eAAe;AACf,IAAA,SAAS;AACT,IAAA,UAAU;AACV,IAAA,gBAAgB;AAChB,IAAA,cAAc;AACd,IAAA,cAAc;AACd,IAAA,aAAa;AACb,IAAA,kBAAkB;AAClB,IAAA,kBAAkB;AAE5B;;;AAGG;AACH,IAAA,WAAA,CACY,OAAgB,EAChB,QAAW,EACX,QAA6B,EAC7B,sBAAsB,KAAK,EAAA;QAH3B,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,mBAAmB,GAAnB,mBAAmB;AAE7B,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAIA,8BAAoB,CAAC,KAAM,CAAC;AAC/D,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,IAAIA,8BAAoB,CAAC,WAAY,CAAC;AACjF,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,IAAIA,8BAAoB,CAAC,WAAY,CAAC;AACjF,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAIA,8BAAoB,CAAC,OAAQ,CAAC;AACrE,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,IAAIA,8BAAoB,CAAC,UAAW,CAAC;QAC1E,IAAI,CAAC,IAAI,CAAC,GAAIA,8BAAoB,CAAC,eAAuD,CAAC;AAC3F,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,IAAIA,8BAAoB,CAAC,UAAW,CAAC;AAC9E,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,IAAIA,8BAAoB,CAAC,eAAgB,CAAC;AAC7F,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,IAAIA,8BAAoB,CAAC,eAAgB,CAAC;IAC/F;AAEA;;;;AAIG;IACH,IAAI,CAAC,GAAG,IAA8B,EAAA;AACpC,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAC3B,QAAA,OAAO,IAAI;IACb;AAEA;;;;AAIG;AACH,IAAA,KAAK,CAAC,KAAa,EAAA;AACjB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,QAAA,OAAO,IAAI;IACb;AAEA;;;;AAIG;AACH,IAAA,OAAO,CAAC,EAAU,EAAA;AAChB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE;AACpB,QAAA,OAAO,IAAI;IACb;AAEA;;;;;;;;;AASG;AACH,IAAA,MAAM,CAAC,KAAsB,EAAA;AAC3B,QAAA,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;YAC9B,IAAI,KAAK,EAAE;AACT,gBAAA,MAAM,MAAM,GAAmB;AAC7B,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,QAAQ,EAAE,KAAK;iBAChB;AACD,gBAAA,IAAI,CAAC,gBAAgB,GAAG,MAAM;YAChC;iBAAO;AACL,gBAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;YACpC;QACF;aAAO;AACL,YAAA,IAAI,KAAK,CAAC,MAAM,EAAE;gBAChB,IAAI,CAAC,gBAAgB,GAAG;AACtB,oBAAA,IAAI,EAAE,cAAc;oBACpB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;iBACJ;YACxB;iBAAO;AACL,gBAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAoB;YAC3F;QACF;AACA,QAAA,OAAO,IAAI;IACb;AAEA;;;;AAIG;AACH,IAAA,WAAW,CAAC,KAAa,EAAA;AACvB,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAC3B,QAAA,OAAO,IAAI;IACb;AAEA;;;;AAIG;AACH,IAAA,WAAW,CAAC,KAAW,EAAA;AACrB,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAC3B,QAAA,OAAO,IAAI;IACb;AAEA;;;;;;;AAOG;AACH,IAAA,UAAU,CAAC,KAAa,EAAA;AACtB,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;AAC1B,QAAA,OAAO,IAAI;IACb;AAEA;;;;;;;AAOG;AACH,IAAA,eAAe,CAAC,KAAsB,EAAA;AACpC,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK;AAC/B,QAAA,OAAO,IAAI;IACb;AAEA;;;;;;;;;;;;;;;AAeG;AACH,IAAA,eAAe,CAAC,OAAoB,EAAA;AAClC,QAAA,IAAI,CAAC,kBAAkB,GAAG,OAAO;AACjC,QAAA,OAAO,IAAI;IACb;AAEU,IAAA,MAAM,KAAK,CAAC,GAAG,IAAwC,EAAA;AAC/D,QAAA,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,eAAgB,CAAC;AAEvD,QAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;;AAE7B,YAAA,MAAM,GAAG,CAAC,KAAK,EAAE;QACnB;aAAO;;;;YAIL,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,MAAM,EAAEC,8BAAiB,EAAE,CAAC;QACnD;AAEA,QAAA,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,CAAA,sBAAA,EAAyB,GAAG,CAAC,SAAS,CAAA,8BAAA,CAAgC,CAAC;QACzF;AAEA,QAAA,MAAM,OAAO,GAAe;YAC1B,KAAK,EAAE,IAAI,CAAC,SAAU;YACtB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,KAAK,EAAE,GAAG,CAAC,SAAS;AACpB,YAAA,KAAK,EAAE,SAAS;YAChB,IAAI;YACJ,gBAAgB,EAAE,IAAI,CAAC,eAAgB;AACvC,YAAA,OAAO,EAAE,CAAC;YACV,YAAY,EAAE,IAAI,CAAC,cAAc;YACjC,YAAY,EAAE,IAAI,CAAC,cAAc;YACjC,OAAO,EAAE,IAAI,CAAC,UAAU;YACxB,iBAAiB,EAAE,IAAI,CAAC,gBAAgB;YACxC,WAAW,EAAE,IAAI,CAAC,aAAa;YAC/B,gBAAgB,EAAE,IAAI,CAAC,kBAAkB;SAC1C;AAED,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,MAAM,UAAU,GAAGC,sBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAClE,OAAO,CAAC,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,OAAkB,CAAC;AAC7D,YAAAC,WAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAA,IAAA,EAAO,OAAO,CAAC,KAAK,uBAAuB,OAAO,CAAC,aAAa,CAAA,CAAE,CAAC;QAChG;AAEA,QAAA,OAAO,OAAO;IAChB;AAEA;;;;AAIG;AACH,IAAA,MAAM,OAAO,CAAC,GAAG,IAAwC,EAAA;QACvD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AAEzC,QAAAA,WAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CACxB,CAAA,cAAA,EAAiB,OAAO,CAAC,KAAK,CAAA,YAAA,EAAeC,iBAAO,CAAC,IAAI,CAAC;AAClC,4BAAA,EAAAA,iBAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA,CAAE,CACxD;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC;IAC3C;AAEA;;;;;;;;;;;;;;;;;;AAkBG;AACH,IAAA,MAAM,QAAQ,CAAC,cAAsB,EAAE,GAAG,IAAwC,EAAA;QAChF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;AACtC,YAAA,MAAM,IAAI,KAAK,CAAC,2BAA2B,cAAc,CAAA,CAAE,CAAC;QAC9D;;;;QAKA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;;;AAIzC,QAAA,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;AAEtB,QAAAD,WAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CACxB,CAAA,eAAA,EAAkB,OAAO,CAAC,KAAK,gBAAgB,cAAc,CAAA,SAAA,EAAYC,iBAAO,CAAC,IAAI,CAAC,CAAA,EAAA,CAAI;YACxF,CAAA,kBAAA,EAAqBA,iBAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA,CAAE,CACvD;QAED,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CACrC,cAAc,EACd,YAAW;YACT,MAAM,UAAU,GAAe,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC;YACzDD,WAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CACxB,CAAA,uBAAA,EAA0B,UAAU,CAAC,KAAK,CAAA,IAAA,EAAO,UAAU,CAAC,YAAa,CAAC,WAAW,EAAE,CAAA,YAAA,EAAeC,iBAAO,CAAC,IAAI,CAAC,CAAA,CAAE,CACtH;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC;AAC3C,QAAA,CAAC,EACD,IAAI,CAAC,kBAAkB,CACxB;;AAGD,QAAAC,iCAAoB,CAAC,QAAQ,CAAC,aAAa,CAAC;AAE5C,QAAA,OAAO,aAAa;IACtB;AACD;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Backend, NewJobData } from '@sidequest/backend';
|
|
2
2
|
import { TimePeriod, BackoffStrategy, JobClassType, UniquenessConfig, JobData } from '@sidequest/core';
|
|
3
|
-
import { ScheduledTask } from 'node-cron';
|
|
3
|
+
import { TaskOptions, ScheduledTask } from 'node-cron';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Configuration for job uniqueness constraints.
|
|
@@ -46,6 +46,8 @@ interface JobBuilderDefaults {
|
|
|
46
46
|
retryDelay?: number;
|
|
47
47
|
/** Default backoff strategy for jobs built with the JobBuilder */
|
|
48
48
|
backoffStrategy?: BackoffStrategy;
|
|
49
|
+
/** Default node-cron schedule options (e.g. timezone) for jobs built with the JobBuilder */
|
|
50
|
+
scheduleOptions?: TaskOptions;
|
|
49
51
|
}
|
|
50
52
|
/**
|
|
51
53
|
* Builder for creating and enqueuing jobs with custom configuration.
|
|
@@ -64,6 +66,7 @@ declare class JobBuilder<T extends JobClassType> {
|
|
|
64
66
|
protected jobAvailableAt?: Date;
|
|
65
67
|
protected jobRetryDelay?: number;
|
|
66
68
|
protected jobBackoffStrategy?: BackoffStrategy;
|
|
69
|
+
protected jobScheduleOptions?: TaskOptions;
|
|
67
70
|
/**
|
|
68
71
|
* Creates a new JobBuilder for the given job class.
|
|
69
72
|
* @param JobClass The job class constructor.
|
|
@@ -128,6 +131,23 @@ declare class JobBuilder<T extends JobClassType> {
|
|
|
128
131
|
* @returns This builder instance.
|
|
129
132
|
*/
|
|
130
133
|
backoffStrategy(value: BackoffStrategy): this;
|
|
134
|
+
/**
|
|
135
|
+
* Sets node-cron schedule options used by {@link schedule}.
|
|
136
|
+
*
|
|
137
|
+
* @remarks
|
|
138
|
+
* `noOverlap` defaults to `true` if not explicitly set here or in the builder defaults.
|
|
139
|
+
*
|
|
140
|
+
* @param options node-cron `TaskOptions` (e.g. `timezone`, `noOverlap`).
|
|
141
|
+
* @returns This builder instance.
|
|
142
|
+
*
|
|
143
|
+
* @example
|
|
144
|
+
* ```typescript
|
|
145
|
+
* Sidequest.build(MyJob)
|
|
146
|
+
* .scheduleOptions({ timezone: "Australia/Brisbane" })
|
|
147
|
+
* .schedule("0 9 * * *");
|
|
148
|
+
* ```
|
|
149
|
+
*/
|
|
150
|
+
scheduleOptions(options: TaskOptions): this;
|
|
131
151
|
protected build(...args: Parameters<InstanceType<T>["run"]>): Promise<NewJobData>;
|
|
132
152
|
/**
|
|
133
153
|
* Enqueues the job with the specified arguments.
|
package/dist/job/job-builder.js
CHANGED
|
@@ -26,6 +26,7 @@ class JobBuilder {
|
|
|
26
26
|
jobAvailableAt;
|
|
27
27
|
jobRetryDelay;
|
|
28
28
|
jobBackoffStrategy;
|
|
29
|
+
jobScheduleOptions;
|
|
29
30
|
/**
|
|
30
31
|
* Creates a new JobBuilder for the given job class.
|
|
31
32
|
* @param JobClass The job class constructor.
|
|
@@ -43,6 +44,7 @@ class JobBuilder {
|
|
|
43
44
|
this.with(...JOB_BUILDER_FALLBACK.constructorArgs);
|
|
44
45
|
this.retryDelay(this.defaults?.retryDelay ?? JOB_BUILDER_FALLBACK.retryDelay);
|
|
45
46
|
this.backoffStrategy(this.defaults?.backoffStrategy ?? JOB_BUILDER_FALLBACK.backoffStrategy);
|
|
47
|
+
this.scheduleOptions(this.defaults?.scheduleOptions ?? JOB_BUILDER_FALLBACK.scheduleOptions);
|
|
46
48
|
}
|
|
47
49
|
/**
|
|
48
50
|
* Sets the constructor arguments for the job.
|
|
@@ -150,6 +152,26 @@ class JobBuilder {
|
|
|
150
152
|
this.jobBackoffStrategy = value;
|
|
151
153
|
return this;
|
|
152
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* Sets node-cron schedule options used by {@link schedule}.
|
|
157
|
+
*
|
|
158
|
+
* @remarks
|
|
159
|
+
* `noOverlap` defaults to `true` if not explicitly set here or in the builder defaults.
|
|
160
|
+
*
|
|
161
|
+
* @param options node-cron `TaskOptions` (e.g. `timezone`, `noOverlap`).
|
|
162
|
+
* @returns This builder instance.
|
|
163
|
+
*
|
|
164
|
+
* @example
|
|
165
|
+
* ```typescript
|
|
166
|
+
* Sidequest.build(MyJob)
|
|
167
|
+
* .scheduleOptions({ timezone: "Australia/Brisbane" })
|
|
168
|
+
* .schedule("0 9 * * *");
|
|
169
|
+
* ```
|
|
170
|
+
*/
|
|
171
|
+
scheduleOptions(options) {
|
|
172
|
+
this.jobScheduleOptions = options;
|
|
173
|
+
return this;
|
|
174
|
+
}
|
|
153
175
|
async build(...args) {
|
|
154
176
|
const job = new this.JobClass(...this.constructorArgs);
|
|
155
177
|
if (!this.manualJobResolution) {
|
|
@@ -234,7 +256,7 @@ class JobBuilder {
|
|
|
234
256
|
const newJobData = Object.assign({}, jobData);
|
|
235
257
|
logger("JobBuilder").debug(`Cron triggered for job ${newJobData.class} at ${newJobData.available_at.toISOString()} with args: ${inspect(args)}`);
|
|
236
258
|
return this.backend.createNewJob(jobData);
|
|
237
|
-
},
|
|
259
|
+
}, this.jobScheduleOptions);
|
|
238
260
|
// Register the scheduled task with the ScheduledJobRegistry for proper later cleanup
|
|
239
261
|
ScheduledJobRegistry.register(scheduledTask);
|
|
240
262
|
return scheduledTask;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-builder.js","sources":["../../src/job/job-builder.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"job-builder.js","sources":["../../src/job/job-builder.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/workers/main.cjs
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var core = require('@sidequest/core');
|
|
4
4
|
var nodeCron = require('node-cron');
|
|
5
|
+
var constants = require('../constants.cjs');
|
|
5
6
|
var engine = require('../engine.cjs');
|
|
6
7
|
var dispatcher = require('../execution/dispatcher.cjs');
|
|
7
8
|
var executorManager = require('../execution/executor-manager.cjs');
|
|
@@ -113,7 +114,11 @@ class MainWorker {
|
|
|
113
114
|
});
|
|
114
115
|
}
|
|
115
116
|
}
|
|
116
|
-
|
|
117
|
+
// Gate the bootstrap on the explicit flag the engine passes when forking, not on `!!process.send`.
|
|
118
|
+
// Any process forked over IPC (including a Vitest `pool: 'forks'` test worker that transitively
|
|
119
|
+
// imports this module) has `process.send`, so the old heuristic would self-initialize there and
|
|
120
|
+
// emit a "ready" message the host IPC layer can't handle. See issue #175.
|
|
121
|
+
const isChildProcess = process.argv.includes(constants.WORKER_PROCESS_FLAG);
|
|
117
122
|
if (isChildProcess) {
|
|
118
123
|
const worker = new MainWorker();
|
|
119
124
|
process.on("message",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.cjs","sources":["../../src/workers/main.ts"],"sourcesContent":[null],"names":["Engine","Dispatcher","QueueManager","ExecutorManager","logger","cron","releaseStaleJobs","cleanupFinishedJobs","gracefulShutdown"],"mappings":"
|
|
1
|
+
{"version":3,"file":"main.cjs","sources":["../../src/workers/main.ts"],"sourcesContent":[null],"names":["Engine","Dispatcher","QueueManager","ExecutorManager","logger","cron","releaseStaleJobs","cleanupFinishedJobs","WORKER_PROCESS_FLAG","gracefulShutdown"],"mappings":"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"}
|
package/dist/workers/main.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { logger } from '@sidequest/core';
|
|
2
2
|
import nodeCron from 'node-cron';
|
|
3
|
+
import { WORKER_PROCESS_FLAG } from '../constants.js';
|
|
3
4
|
import { Engine } from '../engine.js';
|
|
4
5
|
import { Dispatcher } from '../execution/dispatcher.js';
|
|
5
6
|
import { ExecutorManager } from '../execution/executor-manager.js';
|
|
@@ -111,7 +112,11 @@ class MainWorker {
|
|
|
111
112
|
});
|
|
112
113
|
}
|
|
113
114
|
}
|
|
114
|
-
|
|
115
|
+
// Gate the bootstrap on the explicit flag the engine passes when forking, not on `!!process.send`.
|
|
116
|
+
// Any process forked over IPC (including a Vitest `pool: 'forks'` test worker that transitively
|
|
117
|
+
// imports this module) has `process.send`, so the old heuristic would self-initialize there and
|
|
118
|
+
// emit a "ready" message the host IPC layer can't handle. See issue #175.
|
|
119
|
+
const isChildProcess = process.argv.includes(WORKER_PROCESS_FLAG);
|
|
115
120
|
if (isChildProcess) {
|
|
116
121
|
const worker = new MainWorker();
|
|
117
122
|
process.on("message",
|
package/dist/workers/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sources":["../../src/workers/main.ts"],"sourcesContent":[null],"names":["cron"],"mappings":"
|
|
1
|
+
{"version":3,"file":"main.js","sources":["../../src/workers/main.ts"],"sourcesContent":[null],"names":["cron"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sidequest/engine",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.15.1",
|
|
4
4
|
"description": "@sidequest/engine is the core engine of SideQuest, a distributed background job processing system for Node.js and TypeScript.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"nodejs",
|
|
@@ -42,12 +42,12 @@
|
|
|
42
42
|
},
|
|
43
43
|
"license": "LGPL-3.0-or-later",
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@sidequest/backend": "1.
|
|
46
|
-
"@sidequest/core": "1.
|
|
45
|
+
"@sidequest/backend": "1.15.1",
|
|
46
|
+
"@sidequest/core": "1.15.1",
|
|
47
47
|
"node-cron": "^4.2.1",
|
|
48
48
|
"piscina": "^5.1.4"
|
|
49
49
|
},
|
|
50
50
|
"peerDependencies": {
|
|
51
|
-
"sidequest": "1.
|
|
51
|
+
"sidequest": "1.15.1"
|
|
52
52
|
}
|
|
53
53
|
}
|