@sidequest/engine 1.0.0-next.14 → 1.0.0-next.17
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 +14 -7
- package/dist/engine.cjs.map +1 -1
- package/dist/engine.js +15 -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-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 +1 -1
- package/dist/workers/main.cjs.map +1 -1
- package/dist/workers/main.js +1 -1
- package/dist/workers/main.js.map +1 -1
- package/package.json +6 -3
package/README.md
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# @sidequest/engine
|
|
2
|
+
|
|
3
|
+
Core job processing engine for the [Sidequest](https://github.com/sidequestjs/sidequest) job processing system.
|
|
4
|
+
|
|
5
|
+
## Summary
|
|
6
|
+
|
|
7
|
+
This package contains the core job processing engine that powers Sidequest.js. It manages job execution, worker threads, queue processing, background maintenance routines, and graceful shutdown handling. The engine is responsible for orchestrating all aspects of job processing including job claiming, execution, state transitions, error handling, and cleanup operations.
|
|
8
|
+
|
|
9
|
+
**⚠️ Important:** This package is not intended for direct use by end users. It is a core internal package that is used by the main `sidequest` package. Always use the main package instead:
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
// ❌ Don't do this
|
|
13
|
+
import { Engine } from "@sidequest/engine";
|
|
14
|
+
|
|
15
|
+
// ✅ Do this instead
|
|
16
|
+
import { Sidequest } from "sidequest";
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
The engine package provides:
|
|
20
|
+
|
|
21
|
+
- **Job Processing Engine** - Core orchestration of job execution with worker thread management
|
|
22
|
+
- **Queue Management** - Queue configuration, priority handling, and concurrency control
|
|
23
|
+
- **Worker Thread Pool** - Scalable worker thread management using Piscina for job isolation
|
|
24
|
+
- **Background Routines** - Automated cleanup of finished jobs and stale job recovery
|
|
25
|
+
- **Graceful Shutdown** - Clean termination with job completion and resource cleanup
|
|
26
|
+
- **Job Lifecycle Management** - Complete job state transitions from waiting to completion
|
|
27
|
+
- **Error Handling** - Comprehensive error capture, retry logic, and failure management
|
|
28
|
+
- **Performance Optimization** - Efficient job claiming, batching, and resource utilization
|
|
29
|
+
- **Monitoring Integration** - Metrics and logging for job processing insights
|
|
30
|
+
|
|
31
|
+
The engine is designed to work seamlessly with all Sidequest backends (PostgreSQL, MySQL, SQLite, MongoDB) and provides the foundation for reliable, scalable job processing in production environments.
|
|
32
|
+
|
|
33
|
+
## Documentation
|
|
34
|
+
|
|
35
|
+
For complete configuration options, advanced usage, and architectural details, visit:
|
|
36
|
+
|
|
37
|
+
**[https://docs.sidequestjs.com/engine/](https://docs.sidequestjs.com/engine/)**
|
|
38
|
+
|
|
39
|
+
The documentation covers:
|
|
40
|
+
|
|
41
|
+
- **Engine Configuration** - Backend setup, queue configuration, and performance tuning
|
|
42
|
+
- **Starting the Engine** - Initialization, startup options, and lifecycle management
|
|
43
|
+
- **Queue Management** - Queue creation, priority settings, and concurrency control
|
|
44
|
+
- **Job Processing** - Worker thread management, execution flow, and error handling
|
|
45
|
+
- **Background Routines** - Cleanup operations, stale job recovery, and maintenance
|
|
46
|
+
- **Graceful Shutdown** - Clean termination procedures and resource management
|
|
47
|
+
- **Performance Tuning** - Thread pool sizing, concurrency limits, and optimization
|
|
48
|
+
- **Monitoring** - Logging, metrics, and health check integration
|
|
49
|
+
- **Troubleshooting** - Common issues, debugging techniques, and best practices
|
|
50
|
+
|
|
51
|
+
### Core Components
|
|
52
|
+
|
|
53
|
+
The engine consists of several key components:
|
|
54
|
+
|
|
55
|
+
- **`Engine`** - Main orchestrator class managing all job processing operations
|
|
56
|
+
- **`JobBuilder`** - Factory for creating and configuring job instances
|
|
57
|
+
- **`JobTransitioner`** - Handles job state transitions and lifecycle management
|
|
58
|
+
- **`QueueManager`** - Manages queue configurations and processing priorities
|
|
59
|
+
- **`WorkerPool`** - Thread pool management for isolated job execution
|
|
60
|
+
- **`RoutineManager`** - Background maintenance and cleanup operations
|
|
61
|
+
- **`SharedRunner`** - Coordination between main thread and worker threads
|
|
62
|
+
|
|
63
|
+
## License
|
|
64
|
+
|
|
65
|
+
LGPL-3.0-or-later
|
package/dist/engine.cjs
CHANGED
|
@@ -81,19 +81,17 @@ class Engine {
|
|
|
81
81
|
state: config?.queueDefaults?.state ?? backend.QUEUE_FALLBACK.state,
|
|
82
82
|
},
|
|
83
83
|
};
|
|
84
|
+
if (this.config.maxConcurrentJobs !== undefined && this.config.maxConcurrentJobs < 1) {
|
|
85
|
+
throw new Error(`Invalid "maxConcurrentJobs" value: must be at least 1.`);
|
|
86
|
+
}
|
|
87
|
+
core.logger("Engine").debug(`Configuring Sidequest engine: ${JSON.stringify(this.config)}`);
|
|
84
88
|
if (this.config.logger) {
|
|
85
89
|
core.configureLogger(this.config.logger);
|
|
86
90
|
}
|
|
87
|
-
|
|
88
|
-
this.backend = await backend.createBackendFromDriver(this.config.backend);
|
|
91
|
+
this.backend = new backend.LazyBackend(this.config.backend);
|
|
89
92
|
if (!this.config.skipMigration) {
|
|
90
93
|
await this.backend.migrate();
|
|
91
94
|
}
|
|
92
|
-
if (this.config.queues) {
|
|
93
|
-
for (const queue of this.config.queues) {
|
|
94
|
-
await grantQueueConfig.grantQueueConfig(this.backend, queue, this.config.queueDefaults, true);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
95
|
return this.config;
|
|
98
96
|
}
|
|
99
97
|
/**
|
|
@@ -101,8 +99,17 @@ class Engine {
|
|
|
101
99
|
* @param config Optional configuration object.
|
|
102
100
|
*/
|
|
103
101
|
async start(config) {
|
|
102
|
+
if (this.mainWorker) {
|
|
103
|
+
core.logger("Engine").warn("Sidequest engine already started");
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
104
106
|
await this.configure(config);
|
|
105
107
|
core.logger("Engine").info(`Starting Sidequest using backend ${this.config.backend.driver}`);
|
|
108
|
+
if (this.config.queues) {
|
|
109
|
+
for (const queue of this.config.queues) {
|
|
110
|
+
await grantQueueConfig.grantQueueConfig(this.backend, queue, this.config.queueDefaults, true);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
106
113
|
return new Promise((resolve, reject) => {
|
|
107
114
|
const timeout = setTimeout(() => {
|
|
108
115
|
reject(new Error("Timeout on starting sidequest fork!"));
|
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","configureLogger","
|
|
1
|
+
{"version":3,"file":"engine.cjs","sources":["../src/engine.ts"],"sourcesContent":[null],"names":["logger","cpus","MISC_FALLBACK","JOB_BUILDER_FALLBACK","QUEUE_FALLBACK","configureLogger","LazyBackend","grantQueueConfig","fork","gracefulShutdown","clearGracefulShutdown","JobBuilder"],"mappings":"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"}
|
package/dist/engine.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { QUEUE_FALLBACK, MISC_FALLBACK,
|
|
1
|
+
import { QUEUE_FALLBACK, MISC_FALLBACK, LazyBackend } from '@sidequest/backend';
|
|
2
2
|
import { logger, configureLogger } from '@sidequest/core';
|
|
3
3
|
import { fork } from 'child_process';
|
|
4
4
|
import { cpus } from 'os';
|
|
@@ -79,19 +79,17 @@ class Engine {
|
|
|
79
79
|
state: config?.queueDefaults?.state ?? QUEUE_FALLBACK.state,
|
|
80
80
|
},
|
|
81
81
|
};
|
|
82
|
+
if (this.config.maxConcurrentJobs !== undefined && this.config.maxConcurrentJobs < 1) {
|
|
83
|
+
throw new Error(`Invalid "maxConcurrentJobs" value: must be at least 1.`);
|
|
84
|
+
}
|
|
85
|
+
logger("Engine").debug(`Configuring Sidequest engine: ${JSON.stringify(this.config)}`);
|
|
82
86
|
if (this.config.logger) {
|
|
83
87
|
configureLogger(this.config.logger);
|
|
84
88
|
}
|
|
85
|
-
|
|
86
|
-
this.backend = await createBackendFromDriver(this.config.backend);
|
|
89
|
+
this.backend = new LazyBackend(this.config.backend);
|
|
87
90
|
if (!this.config.skipMigration) {
|
|
88
91
|
await this.backend.migrate();
|
|
89
92
|
}
|
|
90
|
-
if (this.config.queues) {
|
|
91
|
-
for (const queue of this.config.queues) {
|
|
92
|
-
await grantQueueConfig(this.backend, queue, this.config.queueDefaults, true);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
93
|
return this.config;
|
|
96
94
|
}
|
|
97
95
|
/**
|
|
@@ -99,8 +97,17 @@ class Engine {
|
|
|
99
97
|
* @param config Optional configuration object.
|
|
100
98
|
*/
|
|
101
99
|
async start(config) {
|
|
100
|
+
if (this.mainWorker) {
|
|
101
|
+
logger("Engine").warn("Sidequest engine already started");
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
102
104
|
await this.configure(config);
|
|
103
105
|
logger("Engine").info(`Starting Sidequest using backend ${this.config.backend.driver}`);
|
|
106
|
+
if (this.config.queues) {
|
|
107
|
+
for (const queue of this.config.queues) {
|
|
108
|
+
await grantQueueConfig(this.backend, queue, this.config.queueDefaults, true);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
104
111
|
return new Promise((resolve, reject) => {
|
|
105
112
|
const timeout = setTimeout(() => {
|
|
106
113
|
reject(new Error("Timeout on starting sidequest fork!"));
|
package/dist/engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sources":["../src/engine.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"engine.js","sources":["../src/engine.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;AAWA,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC;AA8D1E;;AAEG;MACU,MAAM,CAAA;AACjB;;;AAGG;AACK,IAAA,OAAO;AAEf;;;;AAIG;AACK,IAAA,MAAM;AAEd;;;AAGG;AACK,IAAA,UAAU;AAElB;;;AAGG;IACK,YAAY,GAAG,KAAK;AAE5B;;;;AAIG;IACH,MAAM,SAAS,CAAC,MAAqB,EAAA;AACnC,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,8BAA8B,CAAC;YACtD,OAAO,IAAI,CAAC,MAAM;QACpB;QACA,IAAI,CAAC,MAAM,GAAG;AACZ,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;YACnD,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;AAChF,aAAA;AACD,YAAA,aAAa,EAAE;gBACb,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,IAAI,cAAc,CAAC,WAAW;gBAC7E,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,IAAI,cAAc,CAAC,QAAQ;gBACpE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,IAAI,cAAc,CAAC,KAAK;AAC5D,aAAA;SACF;AAED,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,GAAG,CAAC,EAAE;AACpF,YAAA,MAAM,IAAI,KAAK,CAAC,CAAA,sDAAA,CAAwD,CAAC;QAC3E;AAEA,QAAA,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAA,8BAAA,EAAiC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA,CAAE,CAAC;AAEtF,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;AACtB,YAAA,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QACrC;AAEA,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;AACnD,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;AAC9B,YAAA,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;QAC9B;QAEA,OAAO,IAAI,CAAC,MAAM;IACpB;AAEA;;;AAGG;IACH,MAAM,KAAK,CAAC,MAAoB,EAAA;AAC9B,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,kCAAkC,CAAC;YACzD;QACF;AAEA,QAAA,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;AAE5B,QAAA,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAA,iCAAA,EAAoC,IAAI,CAAC,MAAO,CAAC,OAAO,CAAC,MAAM,CAAA,CAAE,CAAC;AAExF,QAAA,IAAI,IAAI,CAAC,MAAO,CAAC,MAAM,EAAE;YACvB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAO,CAAC,MAAM,EAAE;AACvC,gBAAA,MAAM,gBAAgB,CAAC,IAAI,CAAC,OAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,MAAO,CAAC,aAAa,EAAE,IAAI,CAAC;YAChF;QACF;QAEA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACrC,YAAA,MAAM,OAAO,GAAG,UAAU,CAAC,MAAK;AAC9B,gBAAA,MAAM,CAAC,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;YAC1D,CAAC,EAAE,IAAI,CAAC;AAER,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACpB,MAAM,SAAS,GAAG,MAAK;oBACrB,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC;AACjD,oBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AAClC,oBAAA,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAA,YAAA,EAAe,IAAI,CAAC,UAAU,CAAC,GAAG,CAAA,CAAE,CAAC;oBAC5D,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,KAAI;AACpC,wBAAA,IAAI,GAAG,KAAK,OAAO,EAAE;4BACnB,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC;AAC9C,4BAAA,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,CAAC,MAAO,EAAE,CAAC;4BACvE,YAAY,CAAC,OAAO,CAAC;AACrB,4BAAA,OAAO,EAAE;wBACX;AACF,oBAAA,CAAC,CAAC;oBAEF,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAK;AAC9B,wBAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;4BACtB,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,wCAAwC,CAAC;AAChE,4BAAA,SAAS,EAAE;wBACb;AACF,oBAAA,CAAC,CAAC;AACJ,gBAAA,CAAC;AAED,gBAAA,SAAS,EAAE;AACX,gBAAA,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAO,CAAC,gBAAgB,CAAC;YAClF;AACF,QAAA,CAAC,CAAC;IACJ;AAEA;;;AAGG;IACH,SAAS,GAAA;QACP,OAAO,IAAI,CAAC,MAAM;IACpB;AAEA;;;AAGG;IACH,UAAU,GAAA;QACR,OAAO,IAAI,CAAC,OAAO;IACrB;AAEA;;AAEG;AACH,IAAA,MAAM,KAAK,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AACtB,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;YACxB,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC;AACrD,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;oBACtC,IAAI,CAAC,UAAW,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AACtC,gBAAA,CAAC,CAAC;gBACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAC1C,gBAAA,MAAM,OAAO;YACf;AACA,YAAA,MAAM,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE;AAC3B,YAAA,IAAI,CAAC,MAAM,GAAG,SAAS;AACvB,YAAA,IAAI,CAAC,OAAO,GAAG,SAAS;AACxB,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS;;;AAG3B,YAAA,qBAAqB,EAAE;YACvB,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC;AAClD,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK;QAC3B;IACF;AAEA;;;;AAIG;AACH,IAAA,KAAK,CAAyB,QAAW,EAAA;QACvC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACjC,YAAA,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC;QAC5F;AACA,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC;QAC/D;AACA,QAAA,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAA,wBAAA,EAA2B,QAAQ,CAAC,IAAI,CAAA,CAAE,CAAC;QAClE,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE;AAC5C,YAAA,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW;;;YAG1B,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,IAAI,oBAAoB,CAAC,WAAY;AACtF,SAAA,CAAC;IACJ;AACD;;;;"}
|
|
@@ -10,27 +10,21 @@ var runnerPool = require('../shared-runner/runner-pool.cjs');
|
|
|
10
10
|
*/
|
|
11
11
|
class ExecutorManager {
|
|
12
12
|
backend;
|
|
13
|
-
|
|
14
|
-
minThreads;
|
|
15
|
-
maxThreads;
|
|
13
|
+
nonNullConfig;
|
|
16
14
|
activeByQueue;
|
|
17
15
|
activeJobs;
|
|
18
16
|
runnerPool;
|
|
19
17
|
/**
|
|
20
18
|
* Creates a new ExecutorManager.
|
|
21
19
|
* @param backend The backend instance.
|
|
22
|
-
* @param
|
|
23
|
-
* @param minThreads Minimum number of worker threads to use.
|
|
24
|
-
* @param maxThreads Maximum number of worker threads to use.
|
|
20
|
+
* @param nonNullConfig The non-nullable engine configuration.
|
|
25
21
|
*/
|
|
26
|
-
constructor(backend,
|
|
22
|
+
constructor(backend, nonNullConfig) {
|
|
27
23
|
this.backend = backend;
|
|
28
|
-
this.
|
|
29
|
-
this.minThreads = minThreads;
|
|
30
|
-
this.maxThreads = maxThreads;
|
|
24
|
+
this.nonNullConfig = nonNullConfig;
|
|
31
25
|
this.activeByQueue = {};
|
|
32
26
|
this.activeJobs = new Set();
|
|
33
|
-
this.runnerPool = new runnerPool.RunnerPool(this.
|
|
27
|
+
this.runnerPool = new runnerPool.RunnerPool(this.nonNullConfig);
|
|
34
28
|
}
|
|
35
29
|
/**
|
|
36
30
|
* Gets the number of available slots for a given queue.
|
|
@@ -54,7 +48,7 @@ class ExecutorManager {
|
|
|
54
48
|
* @returns The number of available slots.
|
|
55
49
|
*/
|
|
56
50
|
availableSlotsGlobal() {
|
|
57
|
-
const limit = this.maxConcurrentJobs;
|
|
51
|
+
const limit = this.nonNullConfig.maxConcurrentJobs;
|
|
58
52
|
const availableSlots = limit - this.activeJobs.size;
|
|
59
53
|
if (availableSlots < 0) {
|
|
60
54
|
return 0;
|
|
@@ -88,10 +82,10 @@ class ExecutorManager {
|
|
|
88
82
|
job = await jobTransitioner.JobTransitioner.apply(this.backend, job, new core.RunTransition());
|
|
89
83
|
const signal = new EventEmitter();
|
|
90
84
|
let isRunning = true;
|
|
91
|
-
const
|
|
85
|
+
const cancellationCheck = async () => {
|
|
92
86
|
while (isRunning) {
|
|
93
87
|
const watchedJob = await this.backend.getJob(job.id);
|
|
94
|
-
if (watchedJob
|
|
88
|
+
if (watchedJob.state === "canceled") {
|
|
95
89
|
core.logger("Executor Manager").debug(`Emitting abort signal for job ${job.id}`);
|
|
96
90
|
signal.emit("abort");
|
|
97
91
|
isRunning = false;
|
|
@@ -100,10 +94,20 @@ class ExecutorManager {
|
|
|
100
94
|
await new Promise((r) => setTimeout(r, 1000));
|
|
101
95
|
}
|
|
102
96
|
};
|
|
103
|
-
void
|
|
97
|
+
void cancellationCheck();
|
|
104
98
|
try {
|
|
105
99
|
core.logger("Executor Manager").debug(`Running job ${job.id} in queue ${queueConfig.name}`);
|
|
106
|
-
const
|
|
100
|
+
const runPromise = this.runnerPool.run(job, signal);
|
|
101
|
+
if (job.timeout) {
|
|
102
|
+
void new Promise(() => {
|
|
103
|
+
setTimeout(() => {
|
|
104
|
+
core.logger("Executor Manager").debug(`Job ${job.id} timed out after ${job.timeout}ms, aborting.`);
|
|
105
|
+
signal.emit("abort");
|
|
106
|
+
void jobTransitioner.JobTransitioner.apply(this.backend, job, new core.RetryTransition(`Job timed out after ${job.timeout}ms`));
|
|
107
|
+
}, job.timeout);
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
const result = await runPromise;
|
|
107
111
|
isRunning = false;
|
|
108
112
|
core.logger("Executor Manager").debug(`Job ${job.id} completed with result: ${JSON.stringify(result)}`);
|
|
109
113
|
const transition = core.JobTransitionFactory.create(result);
|
|
@@ -113,11 +117,11 @@ class ExecutorManager {
|
|
|
113
117
|
isRunning = false;
|
|
114
118
|
const err = error;
|
|
115
119
|
if (err.message === "The task has been aborted") {
|
|
116
|
-
core.logger("Executor Manager").debug(`Job ${job.id} was
|
|
120
|
+
core.logger("Executor Manager").debug(`Job ${job.id} was aborted`);
|
|
117
121
|
}
|
|
118
122
|
else {
|
|
119
|
-
core.logger("Executor Manager").error(`
|
|
120
|
-
|
|
123
|
+
core.logger("Executor Manager").error(`Unhandled error while executing job ${job.id}: ${err.message}`);
|
|
124
|
+
await jobTransitioner.JobTransitioner.apply(this.backend, job, new core.RetryTransition(err));
|
|
121
125
|
}
|
|
122
126
|
}
|
|
123
127
|
finally {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor-manager.cjs","sources":["../../src/execution/executor-manager.ts"],"sourcesContent":[null],"names":["RunnerPool","logger","JobTransitioner","SnoozeTransition","RunTransition","JobTransitionFactory"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"executor-manager.cjs","sources":["../../src/execution/executor-manager.ts"],"sourcesContent":[null],"names":["RunnerPool","logger","JobTransitioner","SnoozeTransition","RunTransition","RetryTransition","JobTransitionFactory"],"mappings":"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"}
|
|
@@ -1,25 +1,22 @@
|
|
|
1
1
|
import { Backend } from '@sidequest/backend';
|
|
2
2
|
import { QueueConfig, JobData } from '@sidequest/core';
|
|
3
|
+
import { NonNullableEngineConfig } from '../engine.js';
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* Manages job execution and worker concurrency for Sidequest.
|
|
6
7
|
*/
|
|
7
8
|
declare class ExecutorManager {
|
|
8
9
|
private backend;
|
|
9
|
-
private
|
|
10
|
-
private minThreads;
|
|
11
|
-
private maxThreads;
|
|
10
|
+
private nonNullConfig;
|
|
12
11
|
private activeByQueue;
|
|
13
12
|
private activeJobs;
|
|
14
13
|
private runnerPool;
|
|
15
14
|
/**
|
|
16
15
|
* Creates a new ExecutorManager.
|
|
17
16
|
* @param backend The backend instance.
|
|
18
|
-
* @param
|
|
19
|
-
* @param minThreads Minimum number of worker threads to use.
|
|
20
|
-
* @param maxThreads Maximum number of worker threads to use.
|
|
17
|
+
* @param nonNullConfig The non-nullable engine configuration.
|
|
21
18
|
*/
|
|
22
|
-
constructor(backend: Backend,
|
|
19
|
+
constructor(backend: Backend, nonNullConfig: NonNullableEngineConfig);
|
|
23
20
|
/**
|
|
24
21
|
* Gets the number of available slots for a given queue.
|
|
25
22
|
* @param queueConfig The queue configuration.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { logger, SnoozeTransition, RunTransition, JobTransitionFactory } from '@sidequest/core';
|
|
1
|
+
import { logger, SnoozeTransition, RunTransition, RetryTransition, JobTransitionFactory } from '@sidequest/core';
|
|
2
2
|
import EventEmitter from 'events';
|
|
3
3
|
import { JobTransitioner } from '../job/job-transitioner.js';
|
|
4
4
|
import { RunnerPool } from '../shared-runner/runner-pool.js';
|
|
@@ -8,27 +8,21 @@ import { RunnerPool } from '../shared-runner/runner-pool.js';
|
|
|
8
8
|
*/
|
|
9
9
|
class ExecutorManager {
|
|
10
10
|
backend;
|
|
11
|
-
|
|
12
|
-
minThreads;
|
|
13
|
-
maxThreads;
|
|
11
|
+
nonNullConfig;
|
|
14
12
|
activeByQueue;
|
|
15
13
|
activeJobs;
|
|
16
14
|
runnerPool;
|
|
17
15
|
/**
|
|
18
16
|
* Creates a new ExecutorManager.
|
|
19
17
|
* @param backend The backend instance.
|
|
20
|
-
* @param
|
|
21
|
-
* @param minThreads Minimum number of worker threads to use.
|
|
22
|
-
* @param maxThreads Maximum number of worker threads to use.
|
|
18
|
+
* @param nonNullConfig The non-nullable engine configuration.
|
|
23
19
|
*/
|
|
24
|
-
constructor(backend,
|
|
20
|
+
constructor(backend, nonNullConfig) {
|
|
25
21
|
this.backend = backend;
|
|
26
|
-
this.
|
|
27
|
-
this.minThreads = minThreads;
|
|
28
|
-
this.maxThreads = maxThreads;
|
|
22
|
+
this.nonNullConfig = nonNullConfig;
|
|
29
23
|
this.activeByQueue = {};
|
|
30
24
|
this.activeJobs = new Set();
|
|
31
|
-
this.runnerPool = new RunnerPool(this.
|
|
25
|
+
this.runnerPool = new RunnerPool(this.nonNullConfig);
|
|
32
26
|
}
|
|
33
27
|
/**
|
|
34
28
|
* Gets the number of available slots for a given queue.
|
|
@@ -52,7 +46,7 @@ class ExecutorManager {
|
|
|
52
46
|
* @returns The number of available slots.
|
|
53
47
|
*/
|
|
54
48
|
availableSlotsGlobal() {
|
|
55
|
-
const limit = this.maxConcurrentJobs;
|
|
49
|
+
const limit = this.nonNullConfig.maxConcurrentJobs;
|
|
56
50
|
const availableSlots = limit - this.activeJobs.size;
|
|
57
51
|
if (availableSlots < 0) {
|
|
58
52
|
return 0;
|
|
@@ -86,10 +80,10 @@ class ExecutorManager {
|
|
|
86
80
|
job = await JobTransitioner.apply(this.backend, job, new RunTransition());
|
|
87
81
|
const signal = new EventEmitter();
|
|
88
82
|
let isRunning = true;
|
|
89
|
-
const
|
|
83
|
+
const cancellationCheck = async () => {
|
|
90
84
|
while (isRunning) {
|
|
91
85
|
const watchedJob = await this.backend.getJob(job.id);
|
|
92
|
-
if (watchedJob
|
|
86
|
+
if (watchedJob.state === "canceled") {
|
|
93
87
|
logger("Executor Manager").debug(`Emitting abort signal for job ${job.id}`);
|
|
94
88
|
signal.emit("abort");
|
|
95
89
|
isRunning = false;
|
|
@@ -98,10 +92,20 @@ class ExecutorManager {
|
|
|
98
92
|
await new Promise((r) => setTimeout(r, 1000));
|
|
99
93
|
}
|
|
100
94
|
};
|
|
101
|
-
void
|
|
95
|
+
void cancellationCheck();
|
|
102
96
|
try {
|
|
103
97
|
logger("Executor Manager").debug(`Running job ${job.id} in queue ${queueConfig.name}`);
|
|
104
|
-
const
|
|
98
|
+
const runPromise = this.runnerPool.run(job, signal);
|
|
99
|
+
if (job.timeout) {
|
|
100
|
+
void new Promise(() => {
|
|
101
|
+
setTimeout(() => {
|
|
102
|
+
logger("Executor Manager").debug(`Job ${job.id} timed out after ${job.timeout}ms, aborting.`);
|
|
103
|
+
signal.emit("abort");
|
|
104
|
+
void JobTransitioner.apply(this.backend, job, new RetryTransition(`Job timed out after ${job.timeout}ms`));
|
|
105
|
+
}, job.timeout);
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
const result = await runPromise;
|
|
105
109
|
isRunning = false;
|
|
106
110
|
logger("Executor Manager").debug(`Job ${job.id} completed with result: ${JSON.stringify(result)}`);
|
|
107
111
|
const transition = JobTransitionFactory.create(result);
|
|
@@ -111,11 +115,11 @@ class ExecutorManager {
|
|
|
111
115
|
isRunning = false;
|
|
112
116
|
const err = error;
|
|
113
117
|
if (err.message === "The task has been aborted") {
|
|
114
|
-
logger("Executor Manager").debug(`Job ${job.id} was
|
|
118
|
+
logger("Executor Manager").debug(`Job ${job.id} was aborted`);
|
|
115
119
|
}
|
|
116
120
|
else {
|
|
117
|
-
logger("Executor Manager").error(`
|
|
118
|
-
|
|
121
|
+
logger("Executor Manager").error(`Unhandled error while executing job ${job.id}: ${err.message}`);
|
|
122
|
+
await JobTransitioner.apply(this.backend, job, new RetryTransition(err));
|
|
119
123
|
}
|
|
120
124
|
}
|
|
121
125
|
finally {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor-manager.js","sources":["../../src/execution/executor-manager.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"executor-manager.js","sources":["../../src/execution/executor-manager.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/index.cjs
CHANGED
|
@@ -13,6 +13,7 @@ var cleanupFinishedJob = require('./routines/cleanup-finished-job.cjs');
|
|
|
13
13
|
var releaseStaleJobs = require('./routines/release-stale-jobs.cjs');
|
|
14
14
|
var runner = require('./shared-runner/runner.cjs');
|
|
15
15
|
var runnerPool = require('./shared-runner/runner-pool.cjs');
|
|
16
|
+
var _import = require('./utils/import.cjs');
|
|
16
17
|
var shutdown = require('./utils/shutdown.cjs');
|
|
17
18
|
var main = require('./workers/main.cjs');
|
|
18
19
|
|
|
@@ -32,6 +33,7 @@ exports.cleanupFinishedJobs = cleanupFinishedJob.cleanupFinishedJobs;
|
|
|
32
33
|
exports.releaseStaleJobs = releaseStaleJobs.releaseStaleJobs;
|
|
33
34
|
exports.run = runner;
|
|
34
35
|
exports.RunnerPool = runnerPool.RunnerPool;
|
|
36
|
+
exports.importSidequest = _import.importSidequest;
|
|
35
37
|
exports.clearGracefulShutdown = shutdown.clearGracefulShutdown;
|
|
36
38
|
exports.gracefulShutdown = shutdown.gracefulShutdown;
|
|
37
39
|
exports.MainWorker = main.MainWorker;
|
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
|
@@ -12,5 +12,6 @@ export { releaseStaleJobs } from './routines/release-stale-jobs.js';
|
|
|
12
12
|
import * as runner from './shared-runner/runner.js';
|
|
13
13
|
export { runner as run };
|
|
14
14
|
export { RunnerPool } from './shared-runner/runner-pool.js';
|
|
15
|
+
export { importSidequest } from './utils/import.js';
|
|
15
16
|
export { clearGracefulShutdown, gracefulShutdown } from './utils/shutdown.js';
|
|
16
17
|
export { MainWorker } from './workers/main.js';
|
package/dist/index.js
CHANGED
|
@@ -12,6 +12,7 @@ export { releaseStaleJobs } from './routines/release-stale-jobs.js';
|
|
|
12
12
|
import * as runner from './shared-runner/runner.js';
|
|
13
13
|
export { runner as run };
|
|
14
14
|
export { RunnerPool } from './shared-runner/runner-pool.js';
|
|
15
|
+
export { importSidequest } from './utils/import.js';
|
|
15
16
|
export { clearGracefulShutdown, gracefulShutdown } from './utils/shutdown.js';
|
|
16
17
|
export { MainWorker } from './workers/main.js';
|
|
17
18
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
|
|
@@ -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
|
@@ -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
|
}
|
|
@@ -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":";;;;;;;;;;;;MAWa,UAAU,CAAA;IACrB,YAAY,GAAG,KAAK;AACZ,IAAA,UAAU;AACV,IAAA,MAAM,GAAG,IAAIA,aAAM,EAAE;AACrB,IAAA,OAAO;AAEf;;;AAGG;IACH,MAAM,SAAS,CAAC,eAA6B,EAAA;AAC3C,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AACtB,YAAA,IAAI;gBACF,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC;gBAClE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAG;
|
|
1
|
+
{"version":3,"file":"main.cjs","sources":["../../src/workers/main.ts"],"sourcesContent":[null],"names":["Engine","Dispatcher","QueueManager","ExecutorManager","logger","cron","releaseStaleJobs","cleanupFinishedJobs","gracefulShutdown"],"mappings":"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"}
|
package/dist/workers/main.js
CHANGED
|
@@ -22,7 +22,7 @@ class MainWorker {
|
|
|
22
22
|
try {
|
|
23
23
|
const nonNullConfig = await this.engine.configure(sidequestConfig);
|
|
24
24
|
this.backend = this.engine.getBackend();
|
|
25
|
-
this.dispatcher = new Dispatcher(this.backend, new QueueManager(this.backend, nonNullConfig.queues, nonNullConfig.queueDefaults), new ExecutorManager(this.backend, nonNullConfig
|
|
25
|
+
this.dispatcher = new Dispatcher(this.backend, new QueueManager(this.backend, nonNullConfig.queues, nonNullConfig.queueDefaults), new ExecutorManager(this.backend, nonNullConfig));
|
|
26
26
|
this.dispatcher.start();
|
|
27
27
|
await this.startCron(nonNullConfig.releaseStaleJobsIntervalMin, nonNullConfig.releaseStaleJobsMaxStaleMs, nonNullConfig.releaseStaleJobsMaxClaimedMs, nonNullConfig.cleanupFinishedJobsIntervalMin, nonNullConfig.cleanupFinishedJobsOlderThan);
|
|
28
28
|
}
|
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":";;;;;;;;;;MAWa,UAAU,CAAA;IACrB,YAAY,GAAG,KAAK;AACZ,IAAA,UAAU;AACV,IAAA,MAAM,GAAG,IAAI,MAAM,EAAE;AACrB,IAAA,OAAO;AAEf;;;AAGG;IACH,MAAM,SAAS,CAAC,eAA6B,EAAA;AAC3C,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AACtB,YAAA,IAAI;gBACF,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC;gBAClE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAG;
|
|
1
|
+
{"version":3,"file":"main.js","sources":["../../src/workers/main.ts"],"sourcesContent":[null],"names":["cron"],"mappings":";;;;;;;;;;MAWa,UAAU,CAAA;IACrB,YAAY,GAAG,KAAK;AACZ,IAAA,UAAU;AACV,IAAA,MAAM,GAAG,IAAI,MAAM,EAAE;AACrB,IAAA,OAAO;AAEf;;;AAGG;IACH,MAAM,SAAS,CAAC,eAA6B,EAAA;AAC3C,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AACtB,YAAA,IAAI;gBACF,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC;gBAClE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAG;AAExC,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAC9B,IAAI,CAAC,OAAO,EACZ,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,aAAa,CAAC,EACjF,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CACjD;AACD,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;gBAEvB,MAAM,IAAI,CAAC,SAAS,CAClB,aAAa,CAAC,2BAA2B,EACzC,aAAa,CAAC,0BAA0B,EACxC,aAAa,CAAC,4BAA4B,EAC1C,aAAa,CAAC,8BAA8B,EAC5C,aAAa,CAAC,4BAA4B,CAC3C;YACH;YAAE,OAAO,KAAK,EAAE;gBACd,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;AAC7B,gBAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACjB;QACF;aAAO;YACL,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,uDAAuD,CAAC;QAChF;IACF;AAEA;;AAEG;AACH,IAAA,MAAM,QAAQ,GAAA;AACZ,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AACtB,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;AACxB,YAAA,MAAM,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE;AAC7B,YAAA,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;QAC3B;IACF;AAEA;;;AAGG;AACH,IAAA,MAAM,mCAAmC,CACvC,WAAmB,EACnB,UAAkB,EAClB,YAAoB,EAAA;AAEpB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACjB,YAAA,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC;QACtF;QAEA,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAA,gDAAA,EAAmD,WAAW,CAAA,QAAA,CAAU,CAAC;AAChG,QAAA,MAAM,WAAW,GAAGA,QAAI,CAAC,QAAQ,CAAC,CAAA,EAAA,EAAK,WAAW,CAAA,QAAA,CAAU,EAAE,YAAW;AACvE,YAAA,IAAI;gBACF,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,iCAAiC,CAAC;gBACzD,MAAM,gBAAgB,CAAC,IAAI,CAAC,OAAQ,EAAE,UAAU,EAAE,YAAY,CAAC;YACjE;YAAE,OAAO,KAAc,EAAE;gBACvB,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC;YACpE;AACF,QAAA,CAAC,CAAC;AACF,QAAA,OAAO,WAAW,CAAC,OAAO,EAAE;IAC9B;AAEA;;;AAGG;AACH,IAAA,MAAM,sCAAsC,CAAC,WAAmB,EAAE,QAAgB,EAAA;AAChF,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACjB,YAAA,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC;QACzF;QAEA,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAA,mDAAA,EAAsD,WAAW,CAAA,QAAA,CAAU,CAAC;AACnG,QAAA,MAAM,WAAW,GAAGA,QAAI,CAAC,QAAQ,CAAC,CAAA,EAAA,EAAK,WAAW,CAAA,QAAA,CAAU,EAAE,YAAW;AACvE,YAAA,IAAI;gBACF,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,oCAAoC,CAAC;gBAC5D,MAAM,mBAAmB,CAAC,IAAI,CAAC,OAAQ,EAAE,QAAQ,CAAC;YACpD;YAAE,OAAO,KAAc,EAAE;gBACvB,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC;YAC/D;AACF,QAAA,CAAC,CAAC;AACF,QAAA,OAAO,WAAW,CAAC,OAAO,EAAE;IAC9B;AAEA;;;;;;;;AAQG;IACH,MAAM,SAAS,CACb,gBAAgC,EAChC,UAAkB,EAClB,YAAoB,EACpB,kBAAkC,EAClC,eAAuB,EAAA;QAEvB,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC;QAC5C,MAAM,QAAQ,GAAuB,EAAE;AAEvC,QAAA,IAAI,gBAAgB,KAAK,KAAK,EAAE;AAC9B,YAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,gBAAgB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QACrG;AAEA,QAAA,IAAI,kBAAkB,KAAK,KAAK,EAAE;AAChC,YAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,sCAAsC,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;QACjG;AAEA,QAAA,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAI;YAC1C,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;AAC/B,QAAA,CAAC,CAAC;IACJ;AACD;AAED,MAAM,cAAc,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI;AAErC,IAAI,cAAc,EAAE;AAClB,IAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;IAE/B,OAAO,CAAC,EAAE,CACR,SAAS;;AAET,IAAA,OAAO,EAAE,IAAI,EAAE,eAAe,EAA+D,KAAI;AAC/F,QAAA,IAAI,IAAI,KAAK,OAAO,EAAE;YACpB,IAAI,CAAC,eAAe,EAAE;AACpB,gBAAA,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC;YACnE;AACA,YAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;AACxB,gBAAA,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,gBAAgB,CAAC;gBAC1F,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gDAAgD,CAAC;AACvE,gBAAA,OAAO,MAAM,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC;YAChD;iBAAO;gBACL,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,yDAAyD,CAAC;YAClF;QACF;AAAO,aAAA,IAAI,IAAI,KAAK,UAAU,EAAE;AAC9B,YAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;gBACxB,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,oDAAoD,CAAC;AAC3E,gBAAA,MAAM,MAAM,CAAC,QAAQ,EAAE;gBACvB,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC;AAClD,gBAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACjB;iBAAO;gBACL,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,4DAA4D,CAAC;YACtF;QACF;AACF,IAAA,CAAC,CACF;AAED,IAAA,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,MAAK;QAC5B,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,yCAAyC,CAAC;QACjE,OAAO,CAAC,IAAI,EAAE;AAChB,IAAA,CAAC,CAAC;IAEF,IAAI,OAAO,CAAC,IAAI;AAAE,QAAA,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;AACzC;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sidequest/engine",
|
|
3
|
-
"version": "1.0.0-next.
|
|
3
|
+
"version": "1.0.0-next.17",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.cjs",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -20,11 +20,14 @@
|
|
|
20
20
|
},
|
|
21
21
|
"license": "LGPL-3.0-or-later",
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@sidequest/backend": "1.0.0-next.
|
|
24
|
-
"@sidequest/core": "1.0.0-next.
|
|
23
|
+
"@sidequest/backend": "1.0.0-next.17",
|
|
24
|
+
"@sidequest/core": "1.0.0-next.17",
|
|
25
25
|
"node-cron": "^4.1.1",
|
|
26
26
|
"piscina": "^5.1.2"
|
|
27
27
|
},
|
|
28
|
+
"peerDependencies": {
|
|
29
|
+
"sidequest": "1.0.0-next.17"
|
|
30
|
+
},
|
|
28
31
|
"packageManager": "yarn@4.9.2",
|
|
29
32
|
"stableVersion": "1.0.0-next.3"
|
|
30
33
|
}
|