light-async-queue 1.0.1 → 2.0.0
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 +334 -40
- package/dist/src/constants.d.ts +68 -0
- package/dist/src/constants.d.ts.map +1 -0
- package/dist/src/constants.js +75 -0
- package/dist/src/constants.js.map +1 -0
- package/dist/src/dashboard/Dashboard.d.ts +70 -0
- package/dist/src/dashboard/Dashboard.d.ts.map +1 -0
- package/dist/src/dashboard/Dashboard.js +308 -0
- package/dist/src/dashboard/Dashboard.js.map +1 -0
- package/dist/src/dashboard/index.d.ts +3 -0
- package/dist/src/dashboard/index.d.ts.map +1 -0
- package/dist/src/dashboard/index.js +2 -0
- package/dist/src/dashboard/index.js.map +1 -0
- package/dist/src/index.d.ts +13 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +11 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/queue/Backoff.d.ts.map +1 -1
- package/dist/src/queue/Backoff.js +2 -1
- package/dist/src/queue/Backoff.js.map +1 -1
- package/dist/src/queue/Job.d.ts +35 -4
- package/dist/src/queue/Job.d.ts.map +1 -1
- package/dist/src/queue/Job.js +97 -12
- package/dist/src/queue/Job.js.map +1 -1
- package/dist/src/queue/Queue.d.ts +73 -3
- package/dist/src/queue/Queue.d.ts.map +1 -1
- package/dist/src/queue/Queue.js +359 -36
- package/dist/src/queue/Queue.js.map +1 -1
- package/dist/src/queue/Scheduler.d.ts.map +1 -1
- package/dist/src/queue/Scheduler.js +8 -1
- package/dist/src/queue/Scheduler.js.map +1 -1
- package/dist/src/storage/FileStore.d.ts.map +1 -1
- package/dist/src/storage/FileStore.js +4 -3
- package/dist/src/storage/FileStore.js.map +1 -1
- package/dist/src/storage/MemoryStore.d.ts.map +1 -1
- package/dist/src/storage/MemoryStore.js +2 -1
- package/dist/src/storage/MemoryStore.js.map +1 -1
- package/dist/src/types.d.ts +85 -10
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +4 -1
- package/dist/src/types.js.map +1 -1
- package/dist/src/utils/CronParser.d.ts +12 -0
- package/dist/src/utils/CronParser.d.ts.map +1 -0
- package/dist/src/utils/CronParser.js +28 -0
- package/dist/src/utils/CronParser.js.map +1 -0
- package/dist/src/utils/RateLimiter.d.ts +37 -0
- package/dist/src/utils/RateLimiter.d.ts.map +1 -0
- package/dist/src/utils/RateLimiter.js +68 -0
- package/dist/src/utils/RateLimiter.js.map +1 -0
- package/dist/src/utils/WebhookManager.d.ts +29 -0
- package/dist/src/utils/WebhookManager.d.ts.map +1 -0
- package/dist/src/utils/WebhookManager.js +82 -0
- package/dist/src/utils/WebhookManager.js.map +1 -0
- package/dist/src/worker/Worker.d.ts +2 -2
- package/dist/src/worker/Worker.d.ts.map +1 -1
- package/dist/src/worker/Worker.js +60 -38
- package/dist/src/worker/Worker.js.map +1 -1
- package/dist/src/worker/childProcessor.js +23 -7
- package/dist/src/worker/childProcessor.js.map +1 -1
- package/package.json +27 -5
package/dist/src/queue/Queue.js
CHANGED
|
@@ -1,14 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
1
|
+
import { StorageType, JobStatus, QueueEventType, } from "../types.js";
|
|
2
|
+
import { Job } from "./Job.js";
|
|
3
|
+
import { Backoff } from "./Backoff.js";
|
|
4
|
+
import { Scheduler } from "./Scheduler.js";
|
|
5
|
+
import { Worker } from "../worker/Worker.js";
|
|
6
|
+
import { DeadLetterQueue } from "../dlq/DeadLetterQueue.js";
|
|
7
|
+
import { MemoryStore } from "../storage/MemoryStore.js";
|
|
8
|
+
import { FileStore } from "../storage/FileStore.js";
|
|
9
|
+
import { RateLimiter } from "../utils/RateLimiter.js";
|
|
10
|
+
import { WebhookManager } from "../utils/WebhookManager.js";
|
|
11
|
+
import { CronParser } from "../utils/CronParser.js";
|
|
12
|
+
import { EventEmitter } from "node:events";
|
|
8
13
|
/**
|
|
9
14
|
* Main Queue class - orchestrates job processing
|
|
10
15
|
*/
|
|
11
|
-
export class Queue {
|
|
16
|
+
export class Queue extends EventEmitter {
|
|
12
17
|
config;
|
|
13
18
|
storage;
|
|
14
19
|
scheduler;
|
|
@@ -16,20 +21,30 @@ export class Queue {
|
|
|
16
21
|
backoff;
|
|
17
22
|
processor;
|
|
18
23
|
workers;
|
|
24
|
+
reservedWorkers;
|
|
19
25
|
activeJobs;
|
|
26
|
+
completedJobIds;
|
|
27
|
+
repeatingJobs;
|
|
20
28
|
isShuttingDown;
|
|
21
29
|
isInitialized;
|
|
30
|
+
rateLimiter;
|
|
31
|
+
webhookManager;
|
|
32
|
+
stalledCheckInterval;
|
|
22
33
|
constructor(config) {
|
|
34
|
+
super();
|
|
23
35
|
this.config = config;
|
|
24
36
|
this.processor = null;
|
|
25
37
|
this.workers = [];
|
|
38
|
+
this.reservedWorkers = new Set();
|
|
26
39
|
this.activeJobs = new Map();
|
|
40
|
+
this.completedJobIds = new Set();
|
|
41
|
+
this.repeatingJobs = new Map();
|
|
27
42
|
this.isShuttingDown = false;
|
|
28
43
|
this.isInitialized = false;
|
|
29
44
|
// Initialize storage based on config
|
|
30
|
-
if (config.storage ===
|
|
45
|
+
if (config.storage === StorageType.FILE) {
|
|
31
46
|
if (!config.filePath) {
|
|
32
|
-
throw new Error(
|
|
47
|
+
throw new Error(`filePath is required when storage is "${StorageType.FILE}"`);
|
|
33
48
|
}
|
|
34
49
|
this.storage = new FileStore(config.filePath);
|
|
35
50
|
}
|
|
@@ -40,10 +55,19 @@ export class Queue {
|
|
|
40
55
|
this.scheduler = new Scheduler(this.storage);
|
|
41
56
|
this.dlq = new DeadLetterQueue(this.storage);
|
|
42
57
|
this.backoff = new Backoff(config.retry.backoff);
|
|
58
|
+
// Initialize rate limiter if configured
|
|
59
|
+
if (config.rateLimiter) {
|
|
60
|
+
this.rateLimiter = new RateLimiter(config.rateLimiter);
|
|
61
|
+
}
|
|
62
|
+
// Initialize webhook manager if configured
|
|
63
|
+
if (config.webhooks && config.webhooks.length > 0) {
|
|
64
|
+
this.webhookManager = new WebhookManager(config.webhooks);
|
|
65
|
+
}
|
|
43
66
|
// Set up scheduler event handler
|
|
44
|
-
this.scheduler.on(
|
|
45
|
-
this.handleJobReady(jobData).catch(error => {
|
|
46
|
-
console.error(
|
|
67
|
+
this.scheduler.on("job-ready", (jobData) => {
|
|
68
|
+
this.handleJobReady(jobData).catch((error) => {
|
|
69
|
+
console.error("[Queue] Error handling job:", error);
|
|
70
|
+
this.emit(QueueEventType.ERROR, error);
|
|
47
71
|
});
|
|
48
72
|
});
|
|
49
73
|
// Set up graceful shutdown
|
|
@@ -58,6 +82,10 @@ export class Queue {
|
|
|
58
82
|
}
|
|
59
83
|
await this.storage.initialize();
|
|
60
84
|
this.isInitialized = true;
|
|
85
|
+
// Start stalled job checker
|
|
86
|
+
this.startStalledChecker();
|
|
87
|
+
// Load completed job IDs for dependency tracking
|
|
88
|
+
await this.loadCompletedJobIds();
|
|
61
89
|
}
|
|
62
90
|
/**
|
|
63
91
|
* Set the job processor function
|
|
@@ -68,15 +96,28 @@ export class Queue {
|
|
|
68
96
|
/**
|
|
69
97
|
* Add a job to the queue
|
|
70
98
|
*/
|
|
71
|
-
async add(payload) {
|
|
99
|
+
async add(payload, options = {}) {
|
|
72
100
|
if (!this.isInitialized) {
|
|
73
101
|
await this.initialize();
|
|
74
102
|
}
|
|
75
103
|
if (this.isShuttingDown) {
|
|
76
|
-
throw new Error(
|
|
104
|
+
throw new Error("Queue is shutting down, cannot accept new jobs");
|
|
77
105
|
}
|
|
78
|
-
const job = new Job(payload, this.config.retry.maxAttempts);
|
|
106
|
+
const job = new Job(payload, this.config.retry.maxAttempts, options);
|
|
79
107
|
await this.storage.addJob(job.toData());
|
|
108
|
+
// Emit event based on job status
|
|
109
|
+
if (job.status === JobStatus.DELAYED) {
|
|
110
|
+
this.emit(QueueEventType.DELAYED, job.toData());
|
|
111
|
+
await this.sendWebhook(QueueEventType.DELAYED, { job: job.toData() });
|
|
112
|
+
}
|
|
113
|
+
else if (job.status === JobStatus.WAITING) {
|
|
114
|
+
this.emit(QueueEventType.WAITING, job.toData());
|
|
115
|
+
await this.sendWebhook(QueueEventType.WAITING, { job: job.toData() });
|
|
116
|
+
}
|
|
117
|
+
// Set up repeating job if configured
|
|
118
|
+
if (options.repeat) {
|
|
119
|
+
await this.scheduleRepeat(job);
|
|
120
|
+
}
|
|
80
121
|
// Start scheduler if not already running
|
|
81
122
|
if (!this.scheduler.getIsRunning()) {
|
|
82
123
|
this.scheduler.start();
|
|
@@ -99,50 +140,85 @@ export class Queue {
|
|
|
99
140
|
return;
|
|
100
141
|
}
|
|
101
142
|
if (!this.processor) {
|
|
102
|
-
console.error(
|
|
143
|
+
console.error("[Queue] No processor function set");
|
|
103
144
|
return;
|
|
104
145
|
}
|
|
105
146
|
const job = Job.fromData(jobData);
|
|
147
|
+
// Check if dependencies are satisfied
|
|
148
|
+
if (!job.areDependenciesSatisfied(this.completedJobIds)) {
|
|
149
|
+
return; // Job is still waiting for dependencies
|
|
150
|
+
}
|
|
151
|
+
// Apply rate limiting if configured
|
|
152
|
+
if (this.rateLimiter) {
|
|
153
|
+
const allowed = await this.rateLimiter.consume();
|
|
154
|
+
if (!allowed) {
|
|
155
|
+
return; // Rate limit reached, will retry on next tick
|
|
156
|
+
}
|
|
157
|
+
}
|
|
106
158
|
// Mark job as processing
|
|
107
159
|
job.markProcessing();
|
|
108
160
|
this.activeJobs.set(job.id, job);
|
|
109
161
|
await this.storage.updateJob(job.toData());
|
|
162
|
+
// Emit active event
|
|
163
|
+
this.emit(QueueEventType.ACTIVE, job.toData());
|
|
164
|
+
await this.sendWebhook(QueueEventType.ACTIVE, { job: job.toData() });
|
|
110
165
|
// Get or create a worker
|
|
111
166
|
const worker = await this.getAvailableWorker();
|
|
112
167
|
try {
|
|
168
|
+
// Create job with methods for processor
|
|
169
|
+
const jobWithMethods = this.createJobWithMethods(job);
|
|
113
170
|
// Execute job in worker
|
|
114
|
-
const result = await worker.execute(job.toData());
|
|
171
|
+
const result = await worker.execute(job.toData(), jobWithMethods);
|
|
115
172
|
if (result.success) {
|
|
116
173
|
// Job succeeded
|
|
117
|
-
job.markCompleted();
|
|
174
|
+
job.markCompleted(result.result);
|
|
118
175
|
await this.storage.updateJob(job.toData());
|
|
176
|
+
// Track completed job for dependency resolution
|
|
177
|
+
this.completedJobIds.add(job.id);
|
|
178
|
+
// Check for dependent jobs
|
|
179
|
+
await this.checkDependentJobs(job.id);
|
|
180
|
+
// Emit completed event
|
|
181
|
+
this.emit(QueueEventType.COMPLETED, job.toData(), result.result);
|
|
182
|
+
await this.sendWebhook(QueueEventType.COMPLETED, {
|
|
183
|
+
job: job.toData(),
|
|
184
|
+
result: result.result,
|
|
185
|
+
});
|
|
119
186
|
}
|
|
120
187
|
else {
|
|
121
188
|
// Job failed
|
|
122
|
-
|
|
189
|
+
const error = new Error(result.error || "Unknown error");
|
|
190
|
+
await this.handleJobFailure(job, error);
|
|
123
191
|
}
|
|
124
192
|
}
|
|
125
193
|
catch (error) {
|
|
126
194
|
// Worker execution error
|
|
127
|
-
|
|
195
|
+
const err = error instanceof Error ? error : new Error(String(error));
|
|
196
|
+
await this.handleJobFailure(job, err);
|
|
128
197
|
}
|
|
129
198
|
finally {
|
|
130
199
|
// Remove from active jobs
|
|
131
200
|
this.activeJobs.delete(job.id);
|
|
201
|
+
this.reservedWorkers.delete(worker);
|
|
132
202
|
}
|
|
133
203
|
}
|
|
134
204
|
/**
|
|
135
205
|
* Handle job failure with retry logic
|
|
136
206
|
*/
|
|
137
207
|
async handleJobFailure(job, error) {
|
|
138
|
-
console.error(`[Queue] Job ${job.id} failed:`, error);
|
|
208
|
+
console.error(`[Queue] Job ${job.id} failed:`, error.message);
|
|
139
209
|
// Calculate next run time with backoff
|
|
140
210
|
const nextRunAt = this.backoff.getNextRunAt(job.attempts + 1);
|
|
141
|
-
job.markFailed(nextRunAt);
|
|
211
|
+
job.markFailed(error.message, nextRunAt);
|
|
142
212
|
if (job.hasExceededMaxAttempts()) {
|
|
143
213
|
// Move to dead letter queue
|
|
144
214
|
console.log(`[Queue] Job ${job.id} exceeded max attempts, moving to DLQ`);
|
|
145
215
|
await this.dlq.add(job);
|
|
216
|
+
// Emit failed event
|
|
217
|
+
this.emit(QueueEventType.FAILED, job.toData(), error);
|
|
218
|
+
await this.sendWebhook(QueueEventType.FAILED, {
|
|
219
|
+
job: job.toData(),
|
|
220
|
+
error,
|
|
221
|
+
});
|
|
146
222
|
}
|
|
147
223
|
else {
|
|
148
224
|
// Update job for retry
|
|
@@ -155,26 +231,29 @@ export class Queue {
|
|
|
155
231
|
async getAvailableWorker() {
|
|
156
232
|
// Find an idle worker
|
|
157
233
|
for (const worker of this.workers) {
|
|
158
|
-
if (!worker.isBusy()) {
|
|
234
|
+
if (!worker.isBusy() && !this.reservedWorkers.has(worker)) {
|
|
235
|
+
this.reservedWorkers.add(worker);
|
|
159
236
|
return worker;
|
|
160
237
|
}
|
|
161
238
|
}
|
|
162
239
|
// Create a new worker if under concurrency limit
|
|
163
240
|
if (this.workers.length < this.config.concurrency) {
|
|
164
241
|
if (!this.processor) {
|
|
165
|
-
throw new Error(
|
|
242
|
+
throw new Error("Processor function not set");
|
|
166
243
|
}
|
|
167
244
|
const worker = new Worker(this.processor);
|
|
168
245
|
await worker.initialize();
|
|
169
246
|
this.workers.push(worker);
|
|
247
|
+
this.reservedWorkers.add(worker);
|
|
170
248
|
return worker;
|
|
171
249
|
}
|
|
172
250
|
// Wait for a worker to become available
|
|
173
251
|
return new Promise((resolve) => {
|
|
174
252
|
const checkInterval = setInterval(() => {
|
|
175
253
|
for (const worker of this.workers) {
|
|
176
|
-
if (!worker.isBusy()) {
|
|
254
|
+
if (!worker.isBusy() && !this.reservedWorkers.has(worker)) {
|
|
177
255
|
clearInterval(checkInterval);
|
|
256
|
+
this.reservedWorkers.add(worker);
|
|
178
257
|
resolve(worker);
|
|
179
258
|
return;
|
|
180
259
|
}
|
|
@@ -182,6 +261,232 @@ export class Queue {
|
|
|
182
261
|
}, 100);
|
|
183
262
|
});
|
|
184
263
|
}
|
|
264
|
+
/**
|
|
265
|
+
* Create a job with methods for use in processor
|
|
266
|
+
*/
|
|
267
|
+
createJobWithMethods(job) {
|
|
268
|
+
return {
|
|
269
|
+
...job.toData(),
|
|
270
|
+
updateProgress: async (progress) => {
|
|
271
|
+
job.updateProgress(progress);
|
|
272
|
+
await this.storage.updateJob(job.toData());
|
|
273
|
+
this.emit(QueueEventType.PROGRESS, job.toData(), progress);
|
|
274
|
+
await this.sendWebhook(QueueEventType.PROGRESS, { job: job.toData() });
|
|
275
|
+
},
|
|
276
|
+
log: (message) => {
|
|
277
|
+
console.log(`[Job ${job.id}] ${message}`);
|
|
278
|
+
},
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Load completed job IDs for dependency tracking
|
|
283
|
+
*/
|
|
284
|
+
async loadCompletedJobIds() {
|
|
285
|
+
const allJobs = await this.storage.getAllJobs();
|
|
286
|
+
this.completedJobIds.clear();
|
|
287
|
+
for (const job of allJobs) {
|
|
288
|
+
if (job.status === JobStatus.COMPLETED) {
|
|
289
|
+
this.completedJobIds.add(job.id);
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* Check and update waiting jobs whose dependencies are now satisfied
|
|
295
|
+
*/
|
|
296
|
+
async checkDependentJobs(completedJobId) {
|
|
297
|
+
const allJobs = await this.storage.getAllJobs();
|
|
298
|
+
for (const jobData of allJobs) {
|
|
299
|
+
if (jobData.status === JobStatus.WAITING &&
|
|
300
|
+
jobData.dependsOn?.includes(completedJobId)) {
|
|
301
|
+
const job = Job.fromData(jobData);
|
|
302
|
+
if (job.areDependenciesSatisfied(this.completedJobIds)) {
|
|
303
|
+
// All dependencies satisfied, move to pending
|
|
304
|
+
job.status = JobStatus.PENDING;
|
|
305
|
+
await this.storage.updateJob(job.toData());
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Schedule a repeating job
|
|
312
|
+
*/
|
|
313
|
+
async scheduleRepeat(job) {
|
|
314
|
+
if (!job.repeatConfig) {
|
|
315
|
+
return;
|
|
316
|
+
}
|
|
317
|
+
const repeatConfig = job.repeatConfig;
|
|
318
|
+
// Check if we've hit the repeat limit
|
|
319
|
+
if (repeatConfig.limit && job.repeatCount >= repeatConfig.limit) {
|
|
320
|
+
return;
|
|
321
|
+
}
|
|
322
|
+
// Calculate next run time
|
|
323
|
+
let nextRunAt;
|
|
324
|
+
if (repeatConfig.pattern) {
|
|
325
|
+
// Cron pattern
|
|
326
|
+
const cronParser = new CronParser(repeatConfig.pattern);
|
|
327
|
+
nextRunAt = cronParser.getNextRunTime(Date.now());
|
|
328
|
+
}
|
|
329
|
+
else if (repeatConfig.every) {
|
|
330
|
+
// Repeat every X ms
|
|
331
|
+
nextRunAt = Date.now() + repeatConfig.every;
|
|
332
|
+
}
|
|
333
|
+
else {
|
|
334
|
+
return;
|
|
335
|
+
}
|
|
336
|
+
// Check date constraints
|
|
337
|
+
if (repeatConfig.startDate &&
|
|
338
|
+
nextRunAt < repeatConfig.startDate.getTime()) {
|
|
339
|
+
nextRunAt = repeatConfig.startDate.getTime();
|
|
340
|
+
}
|
|
341
|
+
if (repeatConfig.endDate && nextRunAt > repeatConfig.endDate.getTime()) {
|
|
342
|
+
return;
|
|
343
|
+
}
|
|
344
|
+
// Schedule the next instance
|
|
345
|
+
const delay = nextRunAt - Date.now();
|
|
346
|
+
const timeout = setTimeout(async () => {
|
|
347
|
+
const nextJob = job.createRepeatInstance();
|
|
348
|
+
nextJob.nextRunAt = nextRunAt;
|
|
349
|
+
await this.storage.addJob(nextJob.toData());
|
|
350
|
+
// Schedule the next repeat
|
|
351
|
+
await this.scheduleRepeat(nextJob);
|
|
352
|
+
}, delay);
|
|
353
|
+
this.repeatingJobs.set(job.id, timeout);
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* Start stalled job checker
|
|
357
|
+
*/
|
|
358
|
+
startStalledChecker() {
|
|
359
|
+
const interval = this.config.stalledInterval || 30000;
|
|
360
|
+
this.stalledCheckInterval = setInterval(async () => {
|
|
361
|
+
await this.checkStalledJobs();
|
|
362
|
+
}, interval);
|
|
363
|
+
}
|
|
364
|
+
/**
|
|
365
|
+
* Check for stalled jobs and mark them
|
|
366
|
+
*/
|
|
367
|
+
async checkStalledJobs() {
|
|
368
|
+
const stalledThreshold = this.config.stalledInterval || 30000;
|
|
369
|
+
const allJobs = await this.storage.getAllJobs();
|
|
370
|
+
for (const jobData of allJobs) {
|
|
371
|
+
if (jobData.status === JobStatus.PROCESSING) {
|
|
372
|
+
const job = Job.fromData(jobData);
|
|
373
|
+
if (job.isStalled(stalledThreshold)) {
|
|
374
|
+
console.warn(`[Queue] Job ${job.id} appears stalled`);
|
|
375
|
+
job.markStalled();
|
|
376
|
+
await this.storage.updateJob(job.toData());
|
|
377
|
+
// Emit stalled event
|
|
378
|
+
this.emit(QueueEventType.STALLED, job.toData());
|
|
379
|
+
await this.sendWebhook(QueueEventType.STALLED, { job: job.toData() });
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
/**
|
|
385
|
+
* Send webhook notification
|
|
386
|
+
*/
|
|
387
|
+
async sendWebhook(event, data) {
|
|
388
|
+
if (this.webhookManager) {
|
|
389
|
+
try {
|
|
390
|
+
await this.webhookManager.sendEvent(event, data);
|
|
391
|
+
}
|
|
392
|
+
catch (error) {
|
|
393
|
+
console.error("[Queue] Webhook error:", error);
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
/**
|
|
398
|
+
* Get a specific job by ID
|
|
399
|
+
*/
|
|
400
|
+
async getJob(jobId) {
|
|
401
|
+
if (!this.isInitialized) {
|
|
402
|
+
await this.initialize();
|
|
403
|
+
}
|
|
404
|
+
return this.storage.getJob(jobId);
|
|
405
|
+
}
|
|
406
|
+
/**
|
|
407
|
+
* Get all jobs from the queue
|
|
408
|
+
*/
|
|
409
|
+
async getAllJobs() {
|
|
410
|
+
if (!this.isInitialized) {
|
|
411
|
+
await this.initialize();
|
|
412
|
+
}
|
|
413
|
+
return this.storage.getAllJobs();
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* Remove a specific job
|
|
417
|
+
*/
|
|
418
|
+
async removeJob(jobId) {
|
|
419
|
+
if (!this.isInitialized) {
|
|
420
|
+
await this.initialize();
|
|
421
|
+
}
|
|
422
|
+
// Check if job is active
|
|
423
|
+
if (this.activeJobs.has(jobId)) {
|
|
424
|
+
return false; // Cannot remove active job
|
|
425
|
+
}
|
|
426
|
+
const job = await this.storage.getJob(jobId);
|
|
427
|
+
if (!job) {
|
|
428
|
+
return false;
|
|
429
|
+
}
|
|
430
|
+
// Remove from storage by updating status
|
|
431
|
+
job.status = JobStatus.FAILED;
|
|
432
|
+
await this.storage.updateJob(job);
|
|
433
|
+
return true;
|
|
434
|
+
}
|
|
435
|
+
/**
|
|
436
|
+
* Pause the queue (stop processing new jobs)
|
|
437
|
+
*/
|
|
438
|
+
pause() {
|
|
439
|
+
this.scheduler.stop();
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* Resume the queue
|
|
443
|
+
*/
|
|
444
|
+
resume() {
|
|
445
|
+
if (!this.isShuttingDown) {
|
|
446
|
+
this.scheduler.start();
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
/**
|
|
450
|
+
* Drain the queue - process all pending jobs
|
|
451
|
+
*/
|
|
452
|
+
async drain() {
|
|
453
|
+
if (!this.isInitialized) {
|
|
454
|
+
await this.initialize();
|
|
455
|
+
}
|
|
456
|
+
// Wait for all pending jobs to be processed
|
|
457
|
+
while (true) {
|
|
458
|
+
const allJobs = await this.storage.getAllJobs();
|
|
459
|
+
const pendingJobs = allJobs.filter((j) => j.status === JobStatus.PENDING ||
|
|
460
|
+
j.status === JobStatus.WAITING ||
|
|
461
|
+
j.status === JobStatus.DELAYED);
|
|
462
|
+
if (pendingJobs.length === 0 && this.activeJobs.size === 0) {
|
|
463
|
+
break;
|
|
464
|
+
}
|
|
465
|
+
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
466
|
+
}
|
|
467
|
+
this.emit(QueueEventType.DRAINED);
|
|
468
|
+
await this.sendWebhook(QueueEventType.DRAINED, {});
|
|
469
|
+
}
|
|
470
|
+
/**
|
|
471
|
+
* Clean completed jobs older than a certain age
|
|
472
|
+
*/
|
|
473
|
+
async clean(maxAge = 24 * 60 * 60 * 1000) {
|
|
474
|
+
if (!this.isInitialized) {
|
|
475
|
+
await this.initialize();
|
|
476
|
+
}
|
|
477
|
+
const allJobs = await this.storage.getAllJobs();
|
|
478
|
+
const now = Date.now();
|
|
479
|
+
let cleaned = 0;
|
|
480
|
+
for (const job of allJobs) {
|
|
481
|
+
if (job.status === JobStatus.COMPLETED && now - job.updatedAt > maxAge) {
|
|
482
|
+
job.status = JobStatus.FAILED; // Mark for removal
|
|
483
|
+
await this.storage.updateJob(job);
|
|
484
|
+
this.completedJobIds.delete(job.id);
|
|
485
|
+
cleaned++;
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
return cleaned;
|
|
489
|
+
}
|
|
185
490
|
/**
|
|
186
491
|
* Get all failed jobs from DLQ
|
|
187
492
|
*/
|
|
@@ -206,6 +511,12 @@ export class Queue {
|
|
|
206
511
|
await this.storage.addJob(job.toData());
|
|
207
512
|
return true;
|
|
208
513
|
}
|
|
514
|
+
/**
|
|
515
|
+
* Get queue statistics
|
|
516
|
+
*/
|
|
517
|
+
getConcurrency() {
|
|
518
|
+
return this.config.concurrency;
|
|
519
|
+
}
|
|
209
520
|
/**
|
|
210
521
|
* Get queue statistics
|
|
211
522
|
*/
|
|
@@ -217,9 +528,12 @@ export class Queue {
|
|
|
217
528
|
const failedJobs = await this.dlq.getAll();
|
|
218
529
|
return {
|
|
219
530
|
active: this.activeJobs.size,
|
|
220
|
-
|
|
531
|
+
waiting: allJobs.filter((j) => j.status === JobStatus.WAITING).length,
|
|
532
|
+
delayed: allJobs.filter((j) => j.status === JobStatus.DELAYED).length,
|
|
533
|
+
pending: allJobs.filter((j) => j.status === JobStatus.PENDING).length,
|
|
221
534
|
failed: failedJobs.length,
|
|
222
|
-
completed: allJobs.filter(j => j.status ===
|
|
535
|
+
completed: allJobs.filter((j) => j.status === JobStatus.COMPLETED).length,
|
|
536
|
+
stalled: allJobs.filter((j) => j.status === JobStatus.STALLED).length,
|
|
223
537
|
};
|
|
224
538
|
}
|
|
225
539
|
/**
|
|
@@ -227,12 +541,12 @@ export class Queue {
|
|
|
227
541
|
*/
|
|
228
542
|
setupGracefulShutdown() {
|
|
229
543
|
const shutdown = async () => {
|
|
230
|
-
console.log(
|
|
544
|
+
console.log("[Queue] Graceful shutdown initiated...");
|
|
231
545
|
await this.shutdown();
|
|
232
546
|
process.exit(0);
|
|
233
547
|
};
|
|
234
|
-
process.on(
|
|
235
|
-
process.on(
|
|
548
|
+
process.on("SIGINT", shutdown);
|
|
549
|
+
process.on("SIGTERM", shutdown);
|
|
236
550
|
}
|
|
237
551
|
/**
|
|
238
552
|
* Gracefully shutdown the queue
|
|
@@ -244,18 +558,27 @@ export class Queue {
|
|
|
244
558
|
this.isShuttingDown = true;
|
|
245
559
|
// Stop accepting new jobs
|
|
246
560
|
this.scheduler.stop();
|
|
561
|
+
// Stop stalled checker
|
|
562
|
+
if (this.stalledCheckInterval) {
|
|
563
|
+
clearInterval(this.stalledCheckInterval);
|
|
564
|
+
}
|
|
565
|
+
// Cancel all repeating jobs
|
|
566
|
+
for (const timeout of this.repeatingJobs.values()) {
|
|
567
|
+
clearTimeout(timeout);
|
|
568
|
+
}
|
|
569
|
+
this.repeatingJobs.clear();
|
|
247
570
|
// Wait for active jobs to complete
|
|
248
571
|
console.log(`[Queue] Waiting for ${this.activeJobs.size} active jobs to complete...`);
|
|
249
572
|
while (this.activeJobs.size > 0) {
|
|
250
|
-
await new Promise(resolve => setTimeout(resolve, 100));
|
|
573
|
+
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
251
574
|
}
|
|
252
575
|
// Terminate all workers
|
|
253
|
-
console.log(
|
|
254
|
-
await Promise.all(this.workers.map(worker => worker.terminate()));
|
|
576
|
+
console.log("[Queue] Terminating workers...");
|
|
577
|
+
await Promise.all(this.workers.map((worker) => worker.terminate()));
|
|
255
578
|
// Close storage
|
|
256
|
-
console.log(
|
|
579
|
+
console.log("[Queue] Closing storage...");
|
|
257
580
|
await this.storage.close();
|
|
258
|
-
console.log(
|
|
581
|
+
console.log("[Queue] Shutdown complete");
|
|
259
582
|
}
|
|
260
583
|
}
|
|
261
584
|
//# sourceMappingURL=Queue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Queue.js","sourceRoot":"","sources":["../../../src/queue/Queue.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Queue.js","sourceRoot":"","sources":["../../../src/queue/Queue.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scheduler.d.ts","sourceRoot":"","sources":["../../../src/queue/Scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C;;;GAGG;AACH,qBAAa,SAAU,SAAQ,YAAY;IACzC,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;gBAEhC,OAAO,EAAE,gBAAgB;IAOrC;;OAEG;IACH,KAAK,IAAI,IAAI;IAab;;OAEG;IACH,IAAI,IAAI,IAAI;IAQZ;;OAEG;YACW,IAAI;
|
|
1
|
+
{"version":3,"file":"Scheduler.d.ts","sourceRoot":"","sources":["../../../src/queue/Scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C;;;GAGG;AACH,qBAAa,SAAU,SAAQ,YAAY;IACzC,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;gBAEhC,OAAO,EAAE,gBAAgB;IAOrC;;OAEG;IACH,KAAK,IAAI,IAAI;IAab;;OAEG;IACH,IAAI,IAAI,IAAI;IAQZ;;OAEG;YACW,IAAI;IAsBlB;;OAEG;IACH,YAAY,IAAI,OAAO;CAGxB"}
|
|
@@ -47,7 +47,14 @@ export class Scheduler extends EventEmitter {
|
|
|
47
47
|
}
|
|
48
48
|
const now = Date.now();
|
|
49
49
|
const pendingJobs = await this.storage.getPendingJobs(now);
|
|
50
|
-
|
|
50
|
+
// Sort by priority (higher first) then by nextRunAt (earlier first)
|
|
51
|
+
const sortedJobs = pendingJobs.sort((a, b) => {
|
|
52
|
+
if (b.priority !== a.priority) {
|
|
53
|
+
return b.priority - a.priority;
|
|
54
|
+
}
|
|
55
|
+
return a.nextRunAt - b.nextRunAt;
|
|
56
|
+
});
|
|
57
|
+
for (const job of sortedJobs) {
|
|
51
58
|
// Emit job-ready event for each pending job
|
|
52
59
|
this.emit('job-ready', job);
|
|
53
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scheduler.js","sourceRoot":"","sources":["../../../src/queue/Scheduler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C;;;GAGG;AACH,MAAM,OAAO,SAAU,SAAQ,YAAY;IACjC,OAAO,CAAmB;IAC1B,QAAQ,CAAwB;IAChC,SAAS,CAAU;IACV,YAAY,GAAW,GAAG,CAAC,CAAC,QAAQ;IAErD,YAAY,OAAyB;QACnC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACxB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,IAAI;QAChB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAE3D,KAAK,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"Scheduler.js","sourceRoot":"","sources":["../../../src/queue/Scheduler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C;;;GAGG;AACH,MAAM,OAAO,SAAU,SAAQ,YAAY;IACjC,OAAO,CAAmB;IAC1B,QAAQ,CAAwB;IAChC,SAAS,CAAU;IACV,YAAY,GAAW,GAAG,CAAC,CAAC,QAAQ;IAErD,YAAY,OAAyB;QACnC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACxB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,IAAI;QAChB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAE3D,oEAAoE;QACpE,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC3C,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC9B,OAAO,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;YACjC,CAAC;YACD,OAAO,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,4CAA4C;YAC5C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileStore.d.ts","sourceRoot":"","sources":["../../../src/storage/FileStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"FileStore.d.ts","sourceRoot":"","sources":["../../../src/storage/FileStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAa,MAAM,aAAa,CAAC;AAKnE;;;GAGG;AACH,qBAAa,SAAU,YAAW,gBAAgB;IAChD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,IAAI,CAAuB;IACnC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,cAAc,CAAqB;gBAE/B,QAAQ,EAAE,MAAM;IAS5B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBjC;;OAEG;YACW,eAAe;IAS7B;;OAEG;YACW,gBAAgB;IAyC9B;;;;;OAKG;YACW,oBAAoB;IAwBlC;;OAEG;YACW,cAAc;IAU5B;;OAEG;YACW,WAAW;IAkBzB;;OAEG;YACW,WAAW;IAkBnB,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnC,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAa/C,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAK3C,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAIhC,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAS7C,aAAa,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAInC,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBlD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAuB7B"}
|