@sidequest/engine 1.0.0-next.13 → 1.0.0-next.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +65 -0
- package/dist/engine.cjs +7 -7
- package/dist/engine.cjs.map +1 -1
- package/dist/engine.js +8 -8
- package/dist/engine.js.map +1 -1
- package/dist/execution/executor-manager.cjs +23 -19
- package/dist/execution/executor-manager.cjs.map +1 -1
- package/dist/execution/executor-manager.d.ts +4 -7
- package/dist/execution/executor-manager.js +24 -20
- package/dist/execution/executor-manager.js.map +1 -1
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/job/job-builder.cjs +51 -9
- package/dist/job/job-builder.cjs.map +1 -1
- package/dist/job/job-builder.d.ts +21 -0
- package/dist/job/job-builder.js +52 -10
- package/dist/job/job-builder.js.map +1 -1
- package/dist/job/job-transitioner.cjs +1 -1
- package/dist/job/job-transitioner.cjs.map +1 -1
- package/dist/job/job-transitioner.js +1 -1
- package/dist/job/job-transitioner.js.map +1 -1
- package/dist/job/job.cjs +1 -1
- package/dist/job/job.cjs.map +1 -1
- package/dist/job/job.js +1 -1
- package/dist/job/job.js.map +1 -1
- package/dist/shared-runner/runner-pool.cjs +8 -6
- package/dist/shared-runner/runner-pool.cjs.map +1 -1
- package/dist/shared-runner/runner-pool.d.ts +4 -2
- package/dist/shared-runner/runner-pool.js +8 -6
- package/dist/shared-runner/runner-pool.js.map +1 -1
- package/dist/shared-runner/runner.cjs +30 -2
- package/dist/shared-runner/runner.cjs.map +1 -1
- package/dist/shared-runner/runner.d.ts +20 -3
- package/dist/shared-runner/runner.js +30 -3
- package/dist/shared-runner/runner.js.map +1 -1
- package/dist/utils/import.cjs +13 -0
- package/dist/utils/import.cjs.map +1 -0
- package/dist/utils/import.d.ts +15 -0
- package/dist/utils/import.js +11 -0
- package/dist/utils/import.js.map +1 -0
- package/dist/workers/main.cjs +4 -4
- package/dist/workers/main.cjs.map +1 -1
- package/dist/workers/main.js +4 -4
- package/dist/workers/main.js.map +1 -1
- package/package.json +6 -3
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Backend } from '@sidequest/backend';
|
|
2
2
|
import { TimePeriod, JobData } from '@sidequest/core';
|
|
3
|
+
import { ScheduledTask } from 'node-cron';
|
|
3
4
|
import { JobClassType } from './job.js';
|
|
4
5
|
|
|
5
6
|
/**
|
|
@@ -103,12 +104,32 @@ declare class JobBuilder<T extends JobClassType> {
|
|
|
103
104
|
* @returns This builder instance.
|
|
104
105
|
*/
|
|
105
106
|
availableAt(value: Date): this;
|
|
107
|
+
private build;
|
|
106
108
|
/**
|
|
107
109
|
* Enqueues the job with the specified arguments.
|
|
108
110
|
* @param args Arguments to pass to the job's run method.
|
|
109
111
|
* @returns A promise resolving to the created job data.
|
|
110
112
|
*/
|
|
111
113
|
enqueue(...args: Parameters<InstanceType<T>["run"]>): Promise<JobData>;
|
|
114
|
+
/**
|
|
115
|
+
* Registers a recurring schedule to enqueue the job automatically based on a cron expression.
|
|
116
|
+
*
|
|
117
|
+
* This sets up an in-memory schedule that enqueues the job with the provided arguments
|
|
118
|
+
* every time the cron expression is triggered.
|
|
119
|
+
*
|
|
120
|
+
* @remarks
|
|
121
|
+
* - The schedule is **not persisted** to any database. It will be lost if the process restarts and must be re-registered at startup.
|
|
122
|
+
* - You must call this method during application initialization to ensure the job is scheduled correctly.
|
|
123
|
+
* - Uses node-cron’s `noOverlap: true` option to prevent concurrent executions.
|
|
124
|
+
*
|
|
125
|
+
* @param cronExpression - A valid cron expression (node-cron compatible) that defines when the job should be enqueued.
|
|
126
|
+
* @param args - Arguments to be passed to the job’s `run` method on each scheduled execution.
|
|
127
|
+
*
|
|
128
|
+
* @returns The underlying `ScheduledTask` instance created by node-cron.
|
|
129
|
+
*
|
|
130
|
+
* @throws {Error} If the cron expression is invalid.
|
|
131
|
+
*/
|
|
132
|
+
schedule(cronExpression: string, ...args: Parameters<InstanceType<T>["run"]>): Promise<ScheduledTask>;
|
|
112
133
|
}
|
|
113
134
|
|
|
114
135
|
export { JobBuilder };
|
package/dist/job/job-builder.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { UniquenessFactory, logger } from '@sidequest/core';
|
|
2
|
+
import nodeCron from 'node-cron';
|
|
2
3
|
import { JOB_BUILDER_FALLBACK } from './constants.js';
|
|
3
4
|
|
|
4
5
|
/**
|
|
@@ -112,12 +113,7 @@ class JobBuilder {
|
|
|
112
113
|
this.jobAvailableAt = value;
|
|
113
114
|
return this;
|
|
114
115
|
}
|
|
115
|
-
|
|
116
|
-
* Enqueues the job with the specified arguments.
|
|
117
|
-
* @param args Arguments to pass to the job's run method.
|
|
118
|
-
* @returns A promise resolving to the created job data.
|
|
119
|
-
*/
|
|
120
|
-
async enqueue(...args) {
|
|
116
|
+
async build(...args) {
|
|
121
117
|
const job = new this.JobClass(...this.constructorArgs);
|
|
122
118
|
await job.ready();
|
|
123
119
|
if (!job.script) {
|
|
@@ -136,15 +132,61 @@ class JobBuilder {
|
|
|
136
132
|
timeout: this.jobTimeout,
|
|
137
133
|
uniqueness_config: this.uniquenessConfig,
|
|
138
134
|
};
|
|
139
|
-
logger("JobBuilder").debug(`Enqueuing job ${job.className} with args: ${JSON.stringify(args)}
|
|
140
|
-
and constructor args: ${JSON.stringify(this.constructorArgs)}`);
|
|
141
135
|
if (this.uniquenessConfig) {
|
|
142
136
|
const uniqueness = UniquenessFactory.create(this.uniquenessConfig);
|
|
143
137
|
jobData.unique_digest = uniqueness.digest(jobData);
|
|
144
|
-
logger("JobBuilder").debug(`Job ${
|
|
138
|
+
logger("JobBuilder").debug(`Job ${jobData.class} uniqueness digest: ${jobData.unique_digest}`);
|
|
145
139
|
}
|
|
140
|
+
return jobData;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Enqueues the job with the specified arguments.
|
|
144
|
+
* @param args Arguments to pass to the job's run method.
|
|
145
|
+
* @returns A promise resolving to the created job data.
|
|
146
|
+
*/
|
|
147
|
+
async enqueue(...args) {
|
|
148
|
+
const jobData = await this.build(...args);
|
|
149
|
+
logger("JobBuilder").debug(`Enqueuing job ${jobData.class} with args: ${JSON.stringify(args)}
|
|
150
|
+
and constructor args: ${JSON.stringify(this.constructorArgs)}`);
|
|
146
151
|
return this.backend.createNewJob(jobData);
|
|
147
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Registers a recurring schedule to enqueue the job automatically based on a cron expression.
|
|
155
|
+
*
|
|
156
|
+
* This sets up an in-memory schedule that enqueues the job with the provided arguments
|
|
157
|
+
* every time the cron expression is triggered.
|
|
158
|
+
*
|
|
159
|
+
* @remarks
|
|
160
|
+
* - The schedule is **not persisted** to any database. It will be lost if the process restarts and must be re-registered at startup.
|
|
161
|
+
* - You must call this method during application initialization to ensure the job is scheduled correctly.
|
|
162
|
+
* - Uses node-cron’s `noOverlap: true` option to prevent concurrent executions.
|
|
163
|
+
*
|
|
164
|
+
* @param cronExpression - A valid cron expression (node-cron compatible) that defines when the job should be enqueued.
|
|
165
|
+
* @param args - Arguments to be passed to the job’s `run` method on each scheduled execution.
|
|
166
|
+
*
|
|
167
|
+
* @returns The underlying `ScheduledTask` instance created by node-cron.
|
|
168
|
+
*
|
|
169
|
+
* @throws {Error} If the cron expression is invalid.
|
|
170
|
+
*/
|
|
171
|
+
async schedule(cronExpression, ...args) {
|
|
172
|
+
if (!nodeCron.validate(cronExpression)) {
|
|
173
|
+
throw new Error(`Invalid cron expression ${cronExpression}`);
|
|
174
|
+
}
|
|
175
|
+
// Build the job data using the provided arguments,
|
|
176
|
+
// this ensures the scheduled state is going to be respected in cases where the builder was reused.
|
|
177
|
+
// Includes class name, queue, timeout, uniqueness, etc.
|
|
178
|
+
const jobData = await this.build(...args);
|
|
179
|
+
// Freeze the job data to prevent future modifications.
|
|
180
|
+
// Ensures the same payload is used on every scheduled execution.
|
|
181
|
+
Object.freeze(jobData);
|
|
182
|
+
logger("JobBuilder").debug(`Scheduling job ${jobData.class} with cron: "${cronExpression}", args: ${JSON.stringify(args)}, ` +
|
|
183
|
+
`constructor args: ${JSON.stringify(this.constructorArgs)}`);
|
|
184
|
+
return nodeCron.schedule(cronExpression, async () => {
|
|
185
|
+
const newJobData = Object.assign({}, jobData);
|
|
186
|
+
logger("JobBuilder").debug(`Cron triggered for job ${newJobData.class} at ${newJobData.available_at.toISOString()} with args: ${JSON.stringify(args)}`);
|
|
187
|
+
return this.backend.createNewJob(jobData);
|
|
188
|
+
}, { noOverlap: true });
|
|
189
|
+
}
|
|
148
190
|
}
|
|
149
191
|
|
|
150
192
|
export { JobBuilder };
|
|
@@ -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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"}
|
|
@@ -21,7 +21,7 @@ class JobTransitioner {
|
|
|
21
21
|
core.logger("JobTransitioner").debug(`Transition ${transition.constructor.name} not applicable for job ${jobData.id}. Returning original job data.`);
|
|
22
22
|
return jobData;
|
|
23
23
|
}
|
|
24
|
-
core.logger("JobTransitioner").
|
|
24
|
+
core.logger("JobTransitioner").debug(`Applying transition ${transition.constructor.name} to job ${jobData.id}`);
|
|
25
25
|
const newData = transition.apply(jobData);
|
|
26
26
|
if (newData.uniqueness_config) {
|
|
27
27
|
const uniqueness = core.UniquenessFactory.create(newData.uniqueness_config);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-transitioner.cjs","sources":["../../src/job/job-transitioner.ts"],"sourcesContent":[null],"names":["logger","UniquenessFactory"],"mappings":";;;;AAGA;;AAEG;MACU,eAAe,CAAA;AAC1B;;;;;;;;;AASG;AACH,IAAA,OAAO,KAAK,CAAC,OAAgB,EAAE,OAAgB,EAAE,UAAyB,EAAA;QACxE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;AAClC,YAAAA,WAAM,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAC7B,cAAc,UAAU,CAAC,WAAW,CAAC,IAAI,CAAA,wBAAA,EAA2B,OAAO,CAAC,EAAE,CAAA,8BAAA,CAAgC,CAC/G;AACD,YAAA,OAAO,OAAO;QAChB;AAEA,QAAAA,WAAM,CAAC,iBAAiB,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"job-transitioner.cjs","sources":["../../src/job/job-transitioner.ts"],"sourcesContent":[null],"names":["logger","UniquenessFactory"],"mappings":";;;;AAGA;;AAEG;MACU,eAAe,CAAA;AAC1B;;;;;;;;;AASG;AACH,IAAA,OAAO,KAAK,CAAC,OAAgB,EAAE,OAAgB,EAAE,UAAyB,EAAA;QACxE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;AAClC,YAAAA,WAAM,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAC7B,cAAc,UAAU,CAAC,WAAW,CAAC,IAAI,CAAA,wBAAA,EAA2B,OAAO,CAAC,EAAE,CAAA,8BAAA,CAAgC,CAC/G;AACD,YAAA,OAAO,OAAO;QAChB;AAEA,QAAAA,WAAM,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,uBAAuB,UAAU,CAAC,WAAW,CAAC,IAAI,CAAA,QAAA,EAAW,OAAO,CAAC,EAAE,CAAA,CAAE,CAAC;QAC1G,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;AACzC,QAAA,IAAI,OAAO,CAAC,iBAAiB,EAAE;YAC7B,MAAM,UAAU,GAAGC,sBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC;YACtE,OAAO,CAAC,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;QACpD;AACA,QAAAD,WAAM,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,CAAA,4BAAA,EAA+B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA,CAAE,CAAC;AACzF,QAAA,OAAO,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;IACnC;AACD;;;;"}
|
|
@@ -19,7 +19,7 @@ class JobTransitioner {
|
|
|
19
19
|
logger("JobTransitioner").debug(`Transition ${transition.constructor.name} not applicable for job ${jobData.id}. Returning original job data.`);
|
|
20
20
|
return jobData;
|
|
21
21
|
}
|
|
22
|
-
logger("JobTransitioner").
|
|
22
|
+
logger("JobTransitioner").debug(`Applying transition ${transition.constructor.name} to job ${jobData.id}`);
|
|
23
23
|
const newData = transition.apply(jobData);
|
|
24
24
|
if (newData.uniqueness_config) {
|
|
25
25
|
const uniqueness = UniquenessFactory.create(newData.uniqueness_config);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-transitioner.js","sources":["../../src/job/job-transitioner.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA;;AAEG;MACU,eAAe,CAAA;AAC1B;;;;;;;;;AASG;AACH,IAAA,OAAO,KAAK,CAAC,OAAgB,EAAE,OAAgB,EAAE,UAAyB,EAAA;QACxE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;AAClC,YAAA,MAAM,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAC7B,cAAc,UAAU,CAAC,WAAW,CAAC,IAAI,CAAA,wBAAA,EAA2B,OAAO,CAAC,EAAE,CAAA,8BAAA,CAAgC,CAC/G;AACD,YAAA,OAAO,OAAO;QAChB;AAEA,QAAA,MAAM,CAAC,iBAAiB,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"job-transitioner.js","sources":["../../src/job/job-transitioner.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA;;AAEG;MACU,eAAe,CAAA;AAC1B;;;;;;;;;AASG;AACH,IAAA,OAAO,KAAK,CAAC,OAAgB,EAAE,OAAgB,EAAE,UAAyB,EAAA;QACxE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;AAClC,YAAA,MAAM,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAC7B,cAAc,UAAU,CAAC,WAAW,CAAC,IAAI,CAAA,wBAAA,EAA2B,OAAO,CAAC,EAAE,CAAA,8BAAA,CAAgC,CAC/G;AACD,YAAA,OAAO,OAAO;QAChB;AAEA,QAAA,MAAM,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,uBAAuB,UAAU,CAAC,WAAW,CAAC,IAAI,CAAA,QAAA,EAAW,OAAO,CAAC,EAAE,CAAA,CAAE,CAAC;QAC1G,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;AACzC,QAAA,IAAI,OAAO,CAAC,iBAAiB,EAAE;YAC7B,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC;YACtE,OAAO,CAAC,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;QACpD;AACA,QAAA,MAAM,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,CAAA,4BAAA,EAA+B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA,CAAE,CAAC;AACzF,QAAA,OAAO,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;IACnC;AACD;;;;"}
|
package/dist/job/job.cjs
CHANGED
package/dist/job/job.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job.cjs","sources":["../../src/job/job.ts"],"sourcesContent":[null],"names":["logger","toErrorData","isJobResult","access","pathToFileURL"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"job.cjs","sources":["../../src/job/job.ts"],"sourcesContent":[null],"names":["logger","toErrorData","isJobResult","access","pathToFileURL"],"mappings":"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"}
|
package/dist/job/job.js
CHANGED
package/dist/job/job.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job.js","sources":["../../src/job/job.ts"],"sourcesContent":[null],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"job.js","sources":["../../src/job/job.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -9,19 +9,21 @@ const runnerPath = path.resolve(__dirname, "runner.js");
|
|
|
9
9
|
* A pool of worker threads for running jobs in parallel using Piscina.
|
|
10
10
|
*/
|
|
11
11
|
class RunnerPool {
|
|
12
|
+
nonNullConfig;
|
|
12
13
|
/** The underlying Piscina worker pool. */
|
|
13
14
|
pool;
|
|
14
15
|
/**
|
|
15
16
|
* Creates a new RunnerPool.
|
|
16
|
-
* @param
|
|
17
|
+
* @param nonNullConfig The non-nullable engine configuration.
|
|
17
18
|
*/
|
|
18
|
-
constructor(
|
|
19
|
+
constructor(nonNullConfig) {
|
|
20
|
+
this.nonNullConfig = nonNullConfig;
|
|
19
21
|
this.pool = new Piscina({
|
|
20
22
|
filename: runnerPath,
|
|
21
|
-
minThreads,
|
|
22
|
-
maxThreads,
|
|
23
|
+
minThreads: this.nonNullConfig.minThreads,
|
|
24
|
+
maxThreads: this.nonNullConfig.maxThreads,
|
|
23
25
|
});
|
|
24
|
-
core.logger("RunnerPool").debug(`Created worker pool with min ${minThreads} threads and max ${maxThreads} threads`);
|
|
26
|
+
core.logger("RunnerPool").debug(`Created worker pool with min ${this.nonNullConfig.minThreads} threads and max ${this.nonNullConfig.maxThreads} threads`);
|
|
25
27
|
}
|
|
26
28
|
/**
|
|
27
29
|
* Runs a job in the worker pool.
|
|
@@ -31,7 +33,7 @@ class RunnerPool {
|
|
|
31
33
|
*/
|
|
32
34
|
run(job, signal) {
|
|
33
35
|
core.logger("RunnerPool").debug(`Running job ${job.id} in pool`);
|
|
34
|
-
return this.pool.run(job, { signal });
|
|
36
|
+
return this.pool.run({ jobData: job, config: this.nonNullConfig }, { signal });
|
|
35
37
|
}
|
|
36
38
|
/**
|
|
37
39
|
* Destroys the worker pool and releases resources.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner-pool.cjs","sources":["../../src/shared-runner/runner-pool.ts"],"sourcesContent":[null],"names":["logger"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"runner-pool.cjs","sources":["../../src/shared-runner/runner-pool.ts"],"sourcesContent":[null],"names":["logger"],"mappings":";;;;;;AAMA,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAmB,EAAE,WAAW,CAAC;AAEjE;;AAEG;MACU,UAAU,CAAA;AAQD,IAAA,aAAA;;AANH,IAAA,IAAI;AAErB;;;AAGG;AACH,IAAA,WAAA,CAAoB,aAAsC,EAAA;QAAtC,IAAA,CAAA,aAAa,GAAb,aAAa;AAC/B,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC;AACtB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU;AACzC,YAAA,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU;AAC1C,SAAA,CAAC;QACFA,WAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CACxB,CAAA,6BAAA,EAAgC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAA,iBAAA,EAAoB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAA,QAAA,CAAU,CACzH;IACH;AAEA;;;;;AAKG;IACH,GAAG,CAAC,GAAY,EAAE,MAAqB,EAAA;AACrC,QAAAA,WAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAA,YAAA,EAAe,GAAG,CAAC,EAAE,CAAA,QAAA,CAAU,CAAC;QAC3D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;IAChF;AAEA;;AAEG;AACH,IAAA,MAAM,OAAO,GAAA;QACXA,WAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC;AACpD,QAAA,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;IAC3B;AACD;;;;"}
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import { JobData, JobResult } from '@sidequest/core';
|
|
2
2
|
import EventEmitter from 'events';
|
|
3
|
+
import { NonNullableEngineConfig } from '../engine.js';
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* A pool of worker threads for running jobs in parallel using Piscina.
|
|
6
7
|
*/
|
|
7
8
|
declare class RunnerPool {
|
|
9
|
+
private nonNullConfig;
|
|
8
10
|
/** The underlying Piscina worker pool. */
|
|
9
11
|
private readonly pool;
|
|
10
12
|
/**
|
|
11
13
|
* Creates a new RunnerPool.
|
|
12
|
-
* @param
|
|
14
|
+
* @param nonNullConfig The non-nullable engine configuration.
|
|
13
15
|
*/
|
|
14
|
-
constructor(
|
|
16
|
+
constructor(nonNullConfig: NonNullableEngineConfig);
|
|
15
17
|
/**
|
|
16
18
|
* Runs a job in the worker pool.
|
|
17
19
|
* @param job The job data to run.
|
|
@@ -7,19 +7,21 @@ const runnerPath = path.resolve(import.meta.dirname, "runner.js");
|
|
|
7
7
|
* A pool of worker threads for running jobs in parallel using Piscina.
|
|
8
8
|
*/
|
|
9
9
|
class RunnerPool {
|
|
10
|
+
nonNullConfig;
|
|
10
11
|
/** The underlying Piscina worker pool. */
|
|
11
12
|
pool;
|
|
12
13
|
/**
|
|
13
14
|
* Creates a new RunnerPool.
|
|
14
|
-
* @param
|
|
15
|
+
* @param nonNullConfig The non-nullable engine configuration.
|
|
15
16
|
*/
|
|
16
|
-
constructor(
|
|
17
|
+
constructor(nonNullConfig) {
|
|
18
|
+
this.nonNullConfig = nonNullConfig;
|
|
17
19
|
this.pool = new Piscina({
|
|
18
20
|
filename: runnerPath,
|
|
19
|
-
minThreads,
|
|
20
|
-
maxThreads,
|
|
21
|
+
minThreads: this.nonNullConfig.minThreads,
|
|
22
|
+
maxThreads: this.nonNullConfig.maxThreads,
|
|
21
23
|
});
|
|
22
|
-
logger("RunnerPool").debug(`Created worker pool with min ${minThreads} threads and max ${maxThreads} threads`);
|
|
24
|
+
logger("RunnerPool").debug(`Created worker pool with min ${this.nonNullConfig.minThreads} threads and max ${this.nonNullConfig.maxThreads} threads`);
|
|
23
25
|
}
|
|
24
26
|
/**
|
|
25
27
|
* Runs a job in the worker pool.
|
|
@@ -29,7 +31,7 @@ class RunnerPool {
|
|
|
29
31
|
*/
|
|
30
32
|
run(job, signal) {
|
|
31
33
|
logger("RunnerPool").debug(`Running job ${job.id} in pool`);
|
|
32
|
-
return this.pool.run(job, { signal });
|
|
34
|
+
return this.pool.run({ jobData: job, config: this.nonNullConfig }, { signal });
|
|
33
35
|
}
|
|
34
36
|
/**
|
|
35
37
|
* Destroys the worker pool and releases resources.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner-pool.js","sources":["../../src/shared-runner/runner-pool.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"runner-pool.js","sources":["../../src/shared-runner/runner-pool.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAMA,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC;AAEjE;;AAEG;MACU,UAAU,CAAA;AAQD,IAAA,aAAA;;AANH,IAAA,IAAI;AAErB;;;AAGG;AACH,IAAA,WAAA,CAAoB,aAAsC,EAAA;QAAtC,IAAA,CAAA,aAAa,GAAb,aAAa;AAC/B,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC;AACtB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU;AACzC,YAAA,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU;AAC1C,SAAA,CAAC;QACF,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CACxB,CAAA,6BAAA,EAAgC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAA,iBAAA,EAAoB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAA,QAAA,CAAU,CACzH;IACH;AAEA;;;;;AAKG;IACH,GAAG,CAAC,GAAY,EAAE,MAAqB,EAAA;AACrC,QAAA,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAA,YAAA,EAAe,GAAG,CAAC,EAAE,CAAA,QAAA,CAAU,CAAC;QAC3D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;IAChF;AAEA;;AAEG;AACH,IAAA,MAAM,OAAO,GAAA;QACX,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC;AACpD,QAAA,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;IAC3B;AACD;;;;"}
|
|
@@ -3,13 +3,16 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var core = require('@sidequest/core');
|
|
6
|
+
var _import = require('../utils/import.cjs');
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* Runs a job by dynamically importing its script and executing the specified class.
|
|
9
|
-
* @param jobData The job data
|
|
10
|
+
* @param jobData The job data containing script and class information
|
|
11
|
+
* @param config The non-nullable engine configuration.
|
|
10
12
|
* @returns A promise resolving to the job result.
|
|
11
13
|
*/
|
|
12
|
-
async function run(jobData) {
|
|
14
|
+
async function run({ jobData, config }) {
|
|
15
|
+
await injectSidequestConfig(config);
|
|
13
16
|
let script = {};
|
|
14
17
|
try {
|
|
15
18
|
core.logger("Runner").debug(`Importing job script "${jobData.script}"`);
|
|
@@ -34,6 +37,31 @@ async function run(jobData) {
|
|
|
34
37
|
core.logger("Runner").debug(`Executing job class "${jobData.class}" with args:`, jobData.args);
|
|
35
38
|
return job.perform(...jobData.args);
|
|
36
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Injects the provided Sidequest engine configuration into the job script.
|
|
42
|
+
*
|
|
43
|
+
* Dynamically imports the `Sidequest` module and applies the configuration,
|
|
44
|
+
* ensuring migrations are skipped. Logs the process and handles errors gracefully,
|
|
45
|
+
* allowing execution to proceed even if configuration injection fails.
|
|
46
|
+
*
|
|
47
|
+
* @param config - The engine configuration object to inject into Sidequest.
|
|
48
|
+
* @returns A promise that resolves to `true` if the configuration was injected successfully,
|
|
49
|
+
* or `false` if an error occurred.
|
|
50
|
+
*/
|
|
51
|
+
async function injectSidequestConfig(config) {
|
|
52
|
+
try {
|
|
53
|
+
core.logger("Runner").debug("Injecting Sidequest config into job script");
|
|
54
|
+
const { Sidequest } = await _import.importSidequest();
|
|
55
|
+
await Sidequest.configure({ ...config, skipMigration: true });
|
|
56
|
+
core.logger("Runner").debug("Successfully injected Sidequest config");
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
core.logger("Runner").warn(`Failed to inject Sidequest config: ${error instanceof Error ? error.message : String(error)}. Proceeding anyway.`);
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
37
64
|
|
|
38
65
|
exports.default = run;
|
|
66
|
+
exports.injectSidequestConfig = injectSidequestConfig;
|
|
39
67
|
//# sourceMappingURL=runner.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.cjs","sources":["../../src/shared-runner/runner.ts"],"sourcesContent":[null],"names":["logger","toErrorData"],"mappings":"
|
|
1
|
+
{"version":3,"file":"runner.cjs","sources":["../../src/shared-runner/runner.ts"],"sourcesContent":[null],"names":["logger","toErrorData","importSidequest"],"mappings":";;;;;;;AAKA;;;;;AAKG;AACY,eAAe,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAA8C,EAAA;AAC/F,IAAA,MAAM,qBAAqB,CAAC,MAAM,CAAC;IAEnC,IAAI,MAAM,GAAiC,EAAE;AAC7C,IAAA,IAAI;AACF,QAAAA,WAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAA,sBAAA,EAAyB,OAAO,CAAC,MAAM,CAAA,CAAA,CAAG,CAAC;QAClE,MAAM,IAAI,MAAM,OAAO,OAAO,CAAC,MAAM,CAAC,CAAiC;AACvE,QAAAA,WAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAA,kCAAA,EAAqC,OAAO,CAAC,MAAM,CAAA,CAAA,CAAG,CAAC;IAChF;IAAE,OAAO,KAAK,EAAE;QACd,MAAM,YAAY,GAAG,CAAA,6BAAA,EAAgC,OAAO,CAAC,MAAM,CAAA,GAAA,EAAM,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA,CAAE;QACjIA,WAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;AACpC,QAAA,MAAM,SAAS,GAAGC,gBAAW,CAAC,KAAc,CAAC;AAC7C,QAAA,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;IAC1E;AAEA,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO;IACxD,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AAC/C,QAAA,MAAM,KAAK,GAAG,CAAA,mBAAA,EAAsB,OAAO,CAAC,KAAK,EAAE;QACnDD,WAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;QAC7B,MAAM,SAAS,GAAGC,gBAAW,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;AAC/C,QAAA,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;IAC1E;IAEA,MAAM,GAAG,GAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC;AACvD,IAAA,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC;AAE1B,IAAAD,WAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAA,qBAAA,EAAwB,OAAO,CAAC,KAAK,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC;IACzF,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;AACrC;AAEA;;;;;;;;;;AAUG;AACI,eAAe,qBAAqB,CAAC,MAAoB,EAAA;AAC9D,IAAA,IAAI;QACFA,WAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,4CAA4C,CAAC;AACpE,QAAA,MAAM,EAAE,SAAS,EAAE,GAAG,MAAME,uBAAe,EAAE;AAC7C,QAAA,MAAM,SAAS,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QAC7DF,WAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,wCAAwC,CAAC;AAChE,QAAA,OAAO,IAAI;IACb;IAAE,OAAO,KAAK,EAAE;QACdA,WAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CACnB,CAAA,mCAAA,EAAsC,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA,oBAAA,CAAsB,CACnH;AACD,QAAA,OAAO,KAAK;IACd;AACF;;;;;"}
|
|
@@ -1,10 +1,27 @@
|
|
|
1
1
|
import { JobData, JobResult } from '@sidequest/core';
|
|
2
|
+
import { EngineConfig } from '../engine.js';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* Runs a job by dynamically importing its script and executing the specified class.
|
|
5
|
-
* @param jobData The job data
|
|
6
|
+
* @param jobData The job data containing script and class information
|
|
7
|
+
* @param config The non-nullable engine configuration.
|
|
6
8
|
* @returns A promise resolving to the job result.
|
|
7
9
|
*/
|
|
8
|
-
declare function run(jobData
|
|
10
|
+
declare function run({ jobData, config }: {
|
|
11
|
+
jobData: JobData;
|
|
12
|
+
config: EngineConfig;
|
|
13
|
+
}): Promise<JobResult>;
|
|
14
|
+
/**
|
|
15
|
+
* Injects the provided Sidequest engine configuration into the job script.
|
|
16
|
+
*
|
|
17
|
+
* Dynamically imports the `Sidequest` module and applies the configuration,
|
|
18
|
+
* ensuring migrations are skipped. Logs the process and handles errors gracefully,
|
|
19
|
+
* allowing execution to proceed even if configuration injection fails.
|
|
20
|
+
*
|
|
21
|
+
* @param config - The engine configuration object to inject into Sidequest.
|
|
22
|
+
* @returns A promise that resolves to `true` if the configuration was injected successfully,
|
|
23
|
+
* or `false` if an error occurred.
|
|
24
|
+
*/
|
|
25
|
+
declare function injectSidequestConfig(config: EngineConfig): Promise<boolean>;
|
|
9
26
|
|
|
10
|
-
export { run as default };
|
|
27
|
+
export { run as default, injectSidequestConfig };
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { logger, toErrorData } from '@sidequest/core';
|
|
2
|
+
import { importSidequest } from '../utils/import.js';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* Runs a job by dynamically importing its script and executing the specified class.
|
|
5
|
-
* @param jobData The job data
|
|
6
|
+
* @param jobData The job data containing script and class information
|
|
7
|
+
* @param config The non-nullable engine configuration.
|
|
6
8
|
* @returns A promise resolving to the job result.
|
|
7
9
|
*/
|
|
8
|
-
async function run(jobData) {
|
|
10
|
+
async function run({ jobData, config }) {
|
|
11
|
+
await injectSidequestConfig(config);
|
|
9
12
|
let script = {};
|
|
10
13
|
try {
|
|
11
14
|
logger("Runner").debug(`Importing job script "${jobData.script}"`);
|
|
@@ -30,6 +33,30 @@ async function run(jobData) {
|
|
|
30
33
|
logger("Runner").debug(`Executing job class "${jobData.class}" with args:`, jobData.args);
|
|
31
34
|
return job.perform(...jobData.args);
|
|
32
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Injects the provided Sidequest engine configuration into the job script.
|
|
38
|
+
*
|
|
39
|
+
* Dynamically imports the `Sidequest` module and applies the configuration,
|
|
40
|
+
* ensuring migrations are skipped. Logs the process and handles errors gracefully,
|
|
41
|
+
* allowing execution to proceed even if configuration injection fails.
|
|
42
|
+
*
|
|
43
|
+
* @param config - The engine configuration object to inject into Sidequest.
|
|
44
|
+
* @returns A promise that resolves to `true` if the configuration was injected successfully,
|
|
45
|
+
* or `false` if an error occurred.
|
|
46
|
+
*/
|
|
47
|
+
async function injectSidequestConfig(config) {
|
|
48
|
+
try {
|
|
49
|
+
logger("Runner").debug("Injecting Sidequest config into job script");
|
|
50
|
+
const { Sidequest } = await importSidequest();
|
|
51
|
+
await Sidequest.configure({ ...config, skipMigration: true });
|
|
52
|
+
logger("Runner").debug("Successfully injected Sidequest config");
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
logger("Runner").warn(`Failed to inject Sidequest config: ${error instanceof Error ? error.message : String(error)}. Proceeding anyway.`);
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
33
60
|
|
|
34
|
-
export { run as default };
|
|
61
|
+
export { run as default, injectSidequestConfig };
|
|
35
62
|
//# sourceMappingURL=runner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sources":["../../src/shared-runner/runner.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runner.js","sources":["../../src/shared-runner/runner.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAKA;;;;;AAKG;AACY,eAAe,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAA8C,EAAA;AAC/F,IAAA,MAAM,qBAAqB,CAAC,MAAM,CAAC;IAEnC,IAAI,MAAM,GAAiC,EAAE;AAC7C,IAAA,IAAI;AACF,QAAA,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAA,sBAAA,EAAyB,OAAO,CAAC,MAAM,CAAA,CAAA,CAAG,CAAC;QAClE,MAAM,IAAI,MAAM,OAAO,OAAO,CAAC,MAAM,CAAC,CAAiC;AACvE,QAAA,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAA,kCAAA,EAAqC,OAAO,CAAC,MAAM,CAAA,CAAA,CAAG,CAAC;IAChF;IAAE,OAAO,KAAK,EAAE;QACd,MAAM,YAAY,GAAG,CAAA,6BAAA,EAAgC,OAAO,CAAC,MAAM,CAAA,GAAA,EAAM,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA,CAAE;QACjI,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;AACpC,QAAA,MAAM,SAAS,GAAG,WAAW,CAAC,KAAc,CAAC;AAC7C,QAAA,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;IAC1E;AAEA,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO;IACxD,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AAC/C,QAAA,MAAM,KAAK,GAAG,CAAA,mBAAA,EAAsB,OAAO,CAAC,KAAK,EAAE;QACnD,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;QAC7B,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;AAC/C,QAAA,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;IAC1E;IAEA,MAAM,GAAG,GAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC;AACvD,IAAA,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC;AAE1B,IAAA,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAA,qBAAA,EAAwB,OAAO,CAAC,KAAK,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC;IACzF,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;AACrC;AAEA;;;;;;;;;;AAUG;AACI,eAAe,qBAAqB,CAAC,MAAoB,EAAA;AAC9D,IAAA,IAAI;QACF,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,4CAA4C,CAAC;AACpE,QAAA,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE;AAC7C,QAAA,MAAM,SAAS,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QAC7D,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,wCAAwC,CAAC;AAChE,QAAA,OAAO,IAAI;IACb;IAAE,OAAO,KAAK,EAAE;QACd,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CACnB,CAAA,mCAAA,EAAsC,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA,oBAAA,CAAsB,CACnH;AACD,QAAA,OAAO,KAAK;IACd;AACF;;;;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Dynamically imports the "sidequest" module.
|
|
5
|
+
*
|
|
6
|
+
* @returns A promise that resolves to the imported "sidequest" module.
|
|
7
|
+
*/
|
|
8
|
+
async function importSidequest() {
|
|
9
|
+
return await import('sidequest');
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
exports.importSidequest = importSidequest;
|
|
13
|
+
//# sourceMappingURL=import.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import.cjs","sources":["../../src/utils/import.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;;AAIG;AACI,eAAe,eAAe,GAAA;AACnC,IAAA,OAAO,MAAM,OAAO,WAAW,CAAC;AAClC;;;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as sidequest from 'sidequest';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Dynamically imports the "sidequest" module.
|
|
5
|
+
*
|
|
6
|
+
* @returns A promise that resolves to the imported "sidequest" module.
|
|
7
|
+
*/
|
|
8
|
+
declare function importSidequest(): Promise<{
|
|
9
|
+
default: typeof sidequest;
|
|
10
|
+
Sidequest: {
|
|
11
|
+
configure: (config: EngineConfig) => Promise<void>;
|
|
12
|
+
};
|
|
13
|
+
}>;
|
|
14
|
+
|
|
15
|
+
export { importSidequest };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dynamically imports the "sidequest" module.
|
|
3
|
+
*
|
|
4
|
+
* @returns A promise that resolves to the imported "sidequest" module.
|
|
5
|
+
*/
|
|
6
|
+
async function importSidequest() {
|
|
7
|
+
return await import('sidequest');
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { importSidequest };
|
|
11
|
+
//# sourceMappingURL=import.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import.js","sources":["../../src/utils/import.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;AAIG;AACI,eAAe,eAAe,GAAA;AACnC,IAAA,OAAO,MAAM,OAAO,WAAW,CAAC;AAClC;;;;"}
|
package/dist/workers/main.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var core = require('@sidequest/core');
|
|
4
|
-
var
|
|
4
|
+
var nodeCron = require('node-cron');
|
|
5
5
|
var engine = require('../engine.cjs');
|
|
6
6
|
var dispatcher = require('../execution/dispatcher.cjs');
|
|
7
7
|
var executorManager = require('../execution/executor-manager.cjs');
|
|
@@ -24,7 +24,7 @@ class MainWorker {
|
|
|
24
24
|
try {
|
|
25
25
|
const nonNullConfig = await this.engine.configure(sidequestConfig);
|
|
26
26
|
this.backend = this.engine.getBackend();
|
|
27
|
-
this.dispatcher = new dispatcher.Dispatcher(this.backend, new queueManager.QueueManager(this.backend, nonNullConfig.queues, nonNullConfig.queueDefaults), new executorManager.ExecutorManager(this.backend, nonNullConfig
|
|
27
|
+
this.dispatcher = new dispatcher.Dispatcher(this.backend, new queueManager.QueueManager(this.backend, nonNullConfig.queues, nonNullConfig.queueDefaults), new executorManager.ExecutorManager(this.backend, nonNullConfig));
|
|
28
28
|
this.dispatcher.start();
|
|
29
29
|
await this.startCron(nonNullConfig.releaseStaleJobsIntervalMin, nonNullConfig.releaseStaleJobsMaxStaleMs, nonNullConfig.releaseStaleJobsMaxClaimedMs, nonNullConfig.cleanupFinishedJobsIntervalMin, nonNullConfig.cleanupFinishedJobsOlderThan);
|
|
30
30
|
}
|
|
@@ -56,7 +56,7 @@ class MainWorker {
|
|
|
56
56
|
throw new Error("Backend is not initialized. Cannot start stale jobs release cron.");
|
|
57
57
|
}
|
|
58
58
|
core.logger("Worker").debug(`Starting stale jobs release cron with interval: ${intervalMin} minutes`);
|
|
59
|
-
const releaseTask =
|
|
59
|
+
const releaseTask = nodeCron.schedule(`*/${intervalMin} * * * *`, async () => {
|
|
60
60
|
try {
|
|
61
61
|
core.logger("Worker").debug("Running stale jobs release task");
|
|
62
62
|
await releaseStaleJobs.releaseStaleJobs(this.backend, maxStaleMs, maxClaimedMs);
|
|
@@ -76,7 +76,7 @@ class MainWorker {
|
|
|
76
76
|
throw new Error("Backend is not initialized. Cannot start finished jobs cleanup cron.");
|
|
77
77
|
}
|
|
78
78
|
core.logger("Worker").debug(`Starting finished jobs cleanup cron with interval: ${intervalMin} minutes`);
|
|
79
|
-
const cleanupTask =
|
|
79
|
+
const cleanupTask = nodeCron.schedule(`*/${intervalMin} * * * *`, async () => {
|
|
80
80
|
try {
|
|
81
81
|
core.logger("Worker").debug("Running finished jobs cleanup task");
|
|
82
82
|
await cleanupFinishedJob.cleanupFinishedJobs(this.backend, cutoffMs);
|