@orchestr-sh/orchestr 1.7.4 → 1.8.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/dist/Console/Commands/MakeJobCommand.d.ts +20 -0
- package/dist/Console/Commands/MakeJobCommand.d.ts.map +1 -0
- package/dist/Console/Commands/MakeJobCommand.js +165 -0
- package/dist/Console/Commands/MakeJobCommand.js.map +1 -0
- package/dist/Console/Commands/QueueBatchesTableCommand.d.ts +17 -0
- package/dist/Console/Commands/QueueBatchesTableCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueBatchesTableCommand.js +92 -0
- package/dist/Console/Commands/QueueBatchesTableCommand.js.map +1 -0
- package/dist/Console/Commands/QueueClearCommand.d.ts +16 -0
- package/dist/Console/Commands/QueueClearCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueClearCommand.js +29 -0
- package/dist/Console/Commands/QueueClearCommand.js.map +1 -0
- package/dist/Console/Commands/QueueFailedCommand.d.ts +18 -0
- package/dist/Console/Commands/QueueFailedCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueFailedCommand.js +76 -0
- package/dist/Console/Commands/QueueFailedCommand.js.map +1 -0
- package/dist/Console/Commands/QueueFailedTableCommand.d.ts +17 -0
- package/dist/Console/Commands/QueueFailedTableCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueFailedTableCommand.js +89 -0
- package/dist/Console/Commands/QueueFailedTableCommand.js.map +1 -0
- package/dist/Console/Commands/QueueFlushCommand.d.ts +18 -0
- package/dist/Console/Commands/QueueFlushCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueFlushCommand.js +44 -0
- package/dist/Console/Commands/QueueFlushCommand.js.map +1 -0
- package/dist/Console/Commands/QueueForgetCommand.d.ts +18 -0
- package/dist/Console/Commands/QueueForgetCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueForgetCommand.js +48 -0
- package/dist/Console/Commands/QueueForgetCommand.js.map +1 -0
- package/dist/Console/Commands/QueueMonitorCommand.d.ts +16 -0
- package/dist/Console/Commands/QueueMonitorCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueMonitorCommand.js +42 -0
- package/dist/Console/Commands/QueueMonitorCommand.js.map +1 -0
- package/dist/Console/Commands/QueuePruneBatchesCommand.d.ts +16 -0
- package/dist/Console/Commands/QueuePruneBatchesCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueuePruneBatchesCommand.js +44 -0
- package/dist/Console/Commands/QueuePruneBatchesCommand.js.map +1 -0
- package/dist/Console/Commands/QueuePruneFailedCommand.d.ts +18 -0
- package/dist/Console/Commands/QueuePruneFailedCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueuePruneFailedCommand.js +39 -0
- package/dist/Console/Commands/QueuePruneFailedCommand.js.map +1 -0
- package/dist/Console/Commands/QueueRestartCommand.d.ts +16 -0
- package/dist/Console/Commands/QueueRestartCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueRestartCommand.js +34 -0
- package/dist/Console/Commands/QueueRestartCommand.js.map +1 -0
- package/dist/Console/Commands/QueueRetryCommand.d.ts +20 -0
- package/dist/Console/Commands/QueueRetryCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueRetryCommand.js +77 -0
- package/dist/Console/Commands/QueueRetryCommand.js.map +1 -0
- package/dist/Console/Commands/QueueTableCommand.d.ts +17 -0
- package/dist/Console/Commands/QueueTableCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueTableCommand.js +89 -0
- package/dist/Console/Commands/QueueTableCommand.js.map +1 -0
- package/dist/Console/Commands/QueueWorkCommand.d.ts +16 -0
- package/dist/Console/Commands/QueueWorkCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueWorkCommand.js +51 -0
- package/dist/Console/Commands/QueueWorkCommand.js.map +1 -0
- package/dist/Facades/Bus.d.ts +62 -0
- package/dist/Facades/Bus.d.ts.map +1 -0
- package/dist/Facades/Bus.js +102 -0
- package/dist/Facades/Bus.js.map +1 -0
- package/dist/Facades/Queue.d.ts +42 -0
- package/dist/Facades/Queue.d.ts.map +1 -0
- package/dist/Facades/Queue.js +71 -0
- package/dist/Facades/Queue.js.map +1 -0
- package/dist/Facades/index.d.ts +2 -0
- package/dist/Facades/index.d.ts.map +1 -1
- package/dist/Facades/index.js +5 -1
- package/dist/Facades/index.js.map +1 -1
- package/dist/Queue/Batching/Batch.d.ts +86 -0
- package/dist/Queue/Batching/Batch.d.ts.map +1 -0
- package/dist/Queue/Batching/Batch.js +170 -0
- package/dist/Queue/Batching/Batch.js.map +1 -0
- package/dist/Queue/Batching/PendingBatch.d.ts +72 -0
- package/dist/Queue/Batching/PendingBatch.d.ts.map +1 -0
- package/dist/Queue/Batching/PendingBatch.js +122 -0
- package/dist/Queue/Batching/PendingBatch.js.map +1 -0
- package/dist/Queue/Batching/index.d.ts +3 -0
- package/dist/Queue/Batching/index.d.ts.map +1 -0
- package/dist/Queue/Batching/index.js +8 -0
- package/dist/Queue/Batching/index.js.map +1 -0
- package/dist/Queue/Concerns/Dispatchable.d.ts +36 -0
- package/dist/Queue/Concerns/Dispatchable.d.ts.map +1 -0
- package/dist/Queue/Concerns/Dispatchable.js +102 -0
- package/dist/Queue/Concerns/Dispatchable.js.map +1 -0
- package/dist/Queue/Contracts/QueueDriver.d.ts +67 -0
- package/dist/Queue/Contracts/QueueDriver.d.ts.map +1 -0
- package/dist/Queue/Contracts/QueueDriver.js +9 -0
- package/dist/Queue/Contracts/QueueDriver.js.map +1 -0
- package/dist/Queue/Contracts/QueueableJob.d.ts +74 -0
- package/dist/Queue/Contracts/QueueableJob.d.ts.map +1 -0
- package/dist/Queue/Contracts/QueueableJob.js +9 -0
- package/dist/Queue/Contracts/QueueableJob.js.map +1 -0
- package/dist/Queue/Contracts/ShouldBeUnique.d.ts +43 -0
- package/dist/Queue/Contracts/ShouldBeUnique.d.ts.map +1 -0
- package/dist/Queue/Contracts/ShouldBeUnique.js +12 -0
- package/dist/Queue/Contracts/ShouldBeUnique.js.map +1 -0
- package/dist/Queue/Drivers/DatabaseDriver.d.ts +39 -0
- package/dist/Queue/Drivers/DatabaseDriver.d.ts.map +1 -0
- package/dist/Queue/Drivers/DatabaseDriver.js +176 -0
- package/dist/Queue/Drivers/DatabaseDriver.js.map +1 -0
- package/dist/Queue/Drivers/NullDriver.d.ts +30 -0
- package/dist/Queue/Drivers/NullDriver.d.ts.map +1 -0
- package/dist/Queue/Drivers/NullDriver.js +57 -0
- package/dist/Queue/Drivers/NullDriver.js.map +1 -0
- package/dist/Queue/Drivers/SyncDriver.d.ts +29 -0
- package/dist/Queue/Drivers/SyncDriver.d.ts.map +1 -0
- package/dist/Queue/Drivers/SyncDriver.js +67 -0
- package/dist/Queue/Drivers/SyncDriver.js.map +1 -0
- package/dist/Queue/Drivers/index.d.ts +4 -0
- package/dist/Queue/Drivers/index.d.ts.map +1 -0
- package/dist/Queue/Drivers/index.js +10 -0
- package/dist/Queue/Drivers/index.js.map +1 -0
- package/dist/Queue/Events/JobExceptionOccurred.d.ts +13 -0
- package/dist/Queue/Events/JobExceptionOccurred.d.ts.map +1 -0
- package/dist/Queue/Events/JobExceptionOccurred.js +20 -0
- package/dist/Queue/Events/JobExceptionOccurred.js.map +1 -0
- package/dist/Queue/Events/JobFailed.d.ts +13 -0
- package/dist/Queue/Events/JobFailed.d.ts.map +1 -0
- package/dist/Queue/Events/JobFailed.js +20 -0
- package/dist/Queue/Events/JobFailed.js.map +1 -0
- package/dist/Queue/Events/JobProcessed.d.ts +12 -0
- package/dist/Queue/Events/JobProcessed.d.ts.map +1 -0
- package/dist/Queue/Events/JobProcessed.js +18 -0
- package/dist/Queue/Events/JobProcessed.js.map +1 -0
- package/dist/Queue/Events/JobProcessing.d.ts +12 -0
- package/dist/Queue/Events/JobProcessing.d.ts.map +1 -0
- package/dist/Queue/Events/JobProcessing.js +18 -0
- package/dist/Queue/Events/JobProcessing.js.map +1 -0
- package/dist/Queue/Events/JobQueued.d.ts +14 -0
- package/dist/Queue/Events/JobQueued.d.ts.map +1 -0
- package/dist/Queue/Events/JobQueued.js +22 -0
- package/dist/Queue/Events/JobQueued.js.map +1 -0
- package/dist/Queue/Events/JobRetryRequested.d.ts +12 -0
- package/dist/Queue/Events/JobRetryRequested.d.ts.map +1 -0
- package/dist/Queue/Events/JobRetryRequested.js +20 -0
- package/dist/Queue/Events/JobRetryRequested.js.map +1 -0
- package/dist/Queue/Events/WorkerStopping.d.ts +11 -0
- package/dist/Queue/Events/WorkerStopping.d.ts.map +1 -0
- package/dist/Queue/Events/WorkerStopping.js +18 -0
- package/dist/Queue/Events/WorkerStopping.js.map +1 -0
- package/dist/Queue/Events/index.d.ts +8 -0
- package/dist/Queue/Events/index.d.ts.map +1 -0
- package/dist/Queue/Events/index.js +18 -0
- package/dist/Queue/Events/index.js.map +1 -0
- package/dist/Queue/Failed/DatabaseFailedJobProvider.d.ts +33 -0
- package/dist/Queue/Failed/DatabaseFailedJobProvider.d.ts.map +1 -0
- package/dist/Queue/Failed/DatabaseFailedJobProvider.js +100 -0
- package/dist/Queue/Failed/DatabaseFailedJobProvider.js.map +1 -0
- package/dist/Queue/Failed/FailedJobProvider.d.ts +42 -0
- package/dist/Queue/Failed/FailedJobProvider.d.ts.map +1 -0
- package/dist/Queue/Failed/FailedJobProvider.js +9 -0
- package/dist/Queue/Failed/FailedJobProvider.js.map +1 -0
- package/dist/Queue/Job.d.ts +194 -0
- package/dist/Queue/Job.d.ts.map +1 -0
- package/dist/Queue/Job.js +286 -0
- package/dist/Queue/Job.js.map +1 -0
- package/dist/Queue/JobPayload.d.ts +37 -0
- package/dist/Queue/JobPayload.d.ts.map +1 -0
- package/dist/Queue/JobPayload.js +46 -0
- package/dist/Queue/JobPayload.js.map +1 -0
- package/dist/Queue/Middleware/JobMiddleware.d.ts +29 -0
- package/dist/Queue/Middleware/JobMiddleware.d.ts.map +1 -0
- package/dist/Queue/Middleware/JobMiddleware.js +21 -0
- package/dist/Queue/Middleware/JobMiddleware.js.map +1 -0
- package/dist/Queue/Middleware/RateLimited.d.ts +56 -0
- package/dist/Queue/Middleware/RateLimited.d.ts.map +1 -0
- package/dist/Queue/Middleware/RateLimited.js +83 -0
- package/dist/Queue/Middleware/RateLimited.js.map +1 -0
- package/dist/Queue/Middleware/ThrottlesExceptions.d.ts +71 -0
- package/dist/Queue/Middleware/ThrottlesExceptions.d.ts.map +1 -0
- package/dist/Queue/Middleware/ThrottlesExceptions.js +119 -0
- package/dist/Queue/Middleware/ThrottlesExceptions.js.map +1 -0
- package/dist/Queue/Middleware/WithoutOverlapping.d.ts +64 -0
- package/dist/Queue/Middleware/WithoutOverlapping.d.ts.map +1 -0
- package/dist/Queue/Middleware/WithoutOverlapping.js +103 -0
- package/dist/Queue/Middleware/WithoutOverlapping.js.map +1 -0
- package/dist/Queue/Middleware/index.d.ts +5 -0
- package/dist/Queue/Middleware/index.d.ts.map +1 -0
- package/dist/Queue/Middleware/index.js +10 -0
- package/dist/Queue/Middleware/index.js.map +1 -0
- package/dist/Queue/PendingChain.d.ts +63 -0
- package/dist/Queue/PendingChain.d.ts.map +1 -0
- package/dist/Queue/PendingChain.js +111 -0
- package/dist/Queue/PendingChain.js.map +1 -0
- package/dist/Queue/PendingDispatch.d.ts +66 -0
- package/dist/Queue/PendingDispatch.d.ts.map +1 -0
- package/dist/Queue/PendingDispatch.js +101 -0
- package/dist/Queue/PendingDispatch.js.map +1 -0
- package/dist/Queue/QueueManager.d.ts +151 -0
- package/dist/Queue/QueueManager.d.ts.map +1 -0
- package/dist/Queue/QueueManager.js +227 -0
- package/dist/Queue/QueueManager.js.map +1 -0
- package/dist/Queue/QueueServiceProvider.d.ts +19 -0
- package/dist/Queue/QueueServiceProvider.d.ts.map +1 -0
- package/dist/Queue/QueueServiceProvider.js +75 -0
- package/dist/Queue/QueueServiceProvider.js.map +1 -0
- package/dist/Queue/Workers/Worker.d.ts +99 -0
- package/dist/Queue/Workers/Worker.d.ts.map +1 -0
- package/dist/Queue/Workers/Worker.js +324 -0
- package/dist/Queue/Workers/Worker.js.map +1 -0
- package/dist/Queue/Workers/WorkerOptions.d.ts +62 -0
- package/dist/Queue/Workers/WorkerOptions.d.ts.map +1 -0
- package/dist/Queue/Workers/WorkerOptions.js +23 -0
- package/dist/Queue/Workers/WorkerOptions.js.map +1 -0
- package/dist/Queue/index.d.ts +41 -0
- package/dist/Queue/index.d.ts.map +1 -0
- package/dist/Queue/index.js +67 -0
- package/dist/Queue/index.js.map +1 -0
- package/dist/index.d.ts +50 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +92 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Worker
|
|
4
|
+
*
|
|
5
|
+
* The queue worker that processes jobs from the queue.
|
|
6
|
+
* Handles the daemon loop, job processing, retries, failures,
|
|
7
|
+
* memory management, and graceful shutdown.
|
|
8
|
+
*
|
|
9
|
+
* Mirrors Laravel's Illuminate\Queue\Worker.
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.Worker = void 0;
|
|
13
|
+
const JobPayload_1 = require("../JobPayload");
|
|
14
|
+
const WorkerOptions_1 = require("./WorkerOptions");
|
|
15
|
+
class Worker {
|
|
16
|
+
manager;
|
|
17
|
+
app;
|
|
18
|
+
shouldQuit = false;
|
|
19
|
+
paused = false;
|
|
20
|
+
jobsProcessed = 0;
|
|
21
|
+
startTime = 0;
|
|
22
|
+
constructor(manager, app) {
|
|
23
|
+
this.manager = manager;
|
|
24
|
+
this.app = app;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Run the worker daemon loop
|
|
28
|
+
*/
|
|
29
|
+
async daemon(connectionName, queues, options = {}) {
|
|
30
|
+
const opts = { ...WorkerOptions_1.DEFAULT_WORKER_OPTIONS, ...options };
|
|
31
|
+
this.startTime = Date.now();
|
|
32
|
+
this.listenForSignals();
|
|
33
|
+
while (!this.shouldQuit) {
|
|
34
|
+
// Fire looping callbacks
|
|
35
|
+
this.manager.fireLoopingCallbacks();
|
|
36
|
+
// Check if paused
|
|
37
|
+
if (this.paused) {
|
|
38
|
+
await this.sleep(opts.sleep);
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
// Process the next job from the queue(s)
|
|
42
|
+
const processed = await this.runNextJob(connectionName, queues, opts);
|
|
43
|
+
if (!processed) {
|
|
44
|
+
// No job was available
|
|
45
|
+
if (opts.stopWhenEmpty) {
|
|
46
|
+
this.stop();
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
await this.sleep(opts.sleep);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
// Rest between jobs if configured
|
|
53
|
+
if (opts.rest > 0) {
|
|
54
|
+
await this.sleep(opts.rest / 1000);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
// Check stop conditions
|
|
58
|
+
if (this.shouldStop(opts)) {
|
|
59
|
+
this.stop();
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Process a single job (--once mode)
|
|
65
|
+
*/
|
|
66
|
+
async runOnce(connectionName, queues, options = {}) {
|
|
67
|
+
const opts = { ...WorkerOptions_1.DEFAULT_WORKER_OPTIONS, ...options };
|
|
68
|
+
return this.runNextJob(connectionName, queues, opts);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Get the next job and process it
|
|
72
|
+
*/
|
|
73
|
+
async runNextJob(connectionName, queues, options) {
|
|
74
|
+
const driver = this.manager.connection(connectionName);
|
|
75
|
+
const queueList = queues.split(',').map((q) => q.trim());
|
|
76
|
+
// Try each queue in priority order
|
|
77
|
+
for (const queue of queueList) {
|
|
78
|
+
const rawJob = await driver.pop(queue);
|
|
79
|
+
if (rawJob) {
|
|
80
|
+
await this.processJob(connectionName, driver, rawJob, options);
|
|
81
|
+
this.jobsProcessed++;
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Process a single job
|
|
89
|
+
*/
|
|
90
|
+
async processJob(connectionName, driver, rawJob, options) {
|
|
91
|
+
let payload;
|
|
92
|
+
try {
|
|
93
|
+
payload = JobPayload_1.JobPayload.deserialize(rawJob.payload);
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
// Invalid payload, delete the job
|
|
97
|
+
console.error(`[Queue] Invalid job payload, deleting job ${rawJob.id}`);
|
|
98
|
+
await driver.delete(rawJob.id);
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
// Resolve the job class from the registry
|
|
102
|
+
const jobClass = this.manager.getJobClass(payload.job);
|
|
103
|
+
if (!jobClass) {
|
|
104
|
+
console.error(`[Queue] Job class [${payload.job}] not registered. Deleting job ${rawJob.id}`);
|
|
105
|
+
await driver.delete(rawJob.id);
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
// Restore the job instance
|
|
109
|
+
let job;
|
|
110
|
+
try {
|
|
111
|
+
job = jobClass.fromJSON(payload.data);
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
console.error(`[Queue] Failed to deserialize job [${payload.job}]:`, error);
|
|
115
|
+
await driver.delete(rawJob.id);
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
// Set job metadata
|
|
119
|
+
job.jobId = rawJob.id;
|
|
120
|
+
job.uuid = payload.uuid;
|
|
121
|
+
job.attempts = rawJob.attempts;
|
|
122
|
+
// Determine max tries
|
|
123
|
+
const maxTries = job.tries ?? options.tries;
|
|
124
|
+
// Fire before callbacks
|
|
125
|
+
this.manager.fireBeforeCallbacks(connectionName, job);
|
|
126
|
+
try {
|
|
127
|
+
// Run through middleware pipeline
|
|
128
|
+
await this.runJobWithMiddleware(job, options);
|
|
129
|
+
// Check if the job was released back to the queue
|
|
130
|
+
if (job.isReleased()) {
|
|
131
|
+
await driver.release(rawJob.id, job.getReleaseDelay());
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
// Check if the job was explicitly deleted
|
|
135
|
+
if (job.isDeleted()) {
|
|
136
|
+
await driver.delete(rawJob.id);
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
// Job completed successfully
|
|
140
|
+
await driver.delete(rawJob.id);
|
|
141
|
+
// Fire after callbacks
|
|
142
|
+
this.manager.fireAfterCallbacks(connectionName, job);
|
|
143
|
+
}
|
|
144
|
+
catch (error) {
|
|
145
|
+
await this.handleJobException(connectionName, driver, rawJob, job, payload, maxTries, error);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Run a job through its middleware pipeline then execute it
|
|
150
|
+
*/
|
|
151
|
+
async runJobWithMiddleware(job, options) {
|
|
152
|
+
const middleware = job.middleware?.() || [];
|
|
153
|
+
const timeout = job.timeout ?? options.timeout;
|
|
154
|
+
// Build middleware pipeline
|
|
155
|
+
const pipeline = this.buildMiddlewarePipeline(middleware, async () => {
|
|
156
|
+
// Execute the job with timeout
|
|
157
|
+
await this.executeWithTimeout(job, timeout);
|
|
158
|
+
});
|
|
159
|
+
await pipeline();
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Build a middleware pipeline
|
|
163
|
+
*/
|
|
164
|
+
buildMiddlewarePipeline(middleware, destination) {
|
|
165
|
+
return middleware.reduceRight((next, mw) => {
|
|
166
|
+
return () => mw.handle(middleware[0], next);
|
|
167
|
+
}, destination);
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Execute a job with a timeout
|
|
171
|
+
*/
|
|
172
|
+
async executeWithTimeout(job, timeout) {
|
|
173
|
+
if (timeout <= 0) {
|
|
174
|
+
await job.handle();
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
const timeoutMs = timeout * 1000;
|
|
178
|
+
await Promise.race([
|
|
179
|
+
job.handle(),
|
|
180
|
+
new Promise((_, reject) => {
|
|
181
|
+
setTimeout(() => {
|
|
182
|
+
reject(new Error(`Job [${job.displayName()}] has been attempted too long or run too long. The job may have previously timed out.`));
|
|
183
|
+
}, timeoutMs);
|
|
184
|
+
}),
|
|
185
|
+
]);
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Handle an exception that occurred while processing a job
|
|
189
|
+
*/
|
|
190
|
+
async handleJobException(connectionName, driver, rawJob, job, payload, maxTries, error) {
|
|
191
|
+
// Fire failing callbacks
|
|
192
|
+
this.manager.fireFailingCallbacks(connectionName, job, error);
|
|
193
|
+
// Check if the job has exceeded max attempts
|
|
194
|
+
if (maxTries > 0 && rawJob.attempts >= maxTries) {
|
|
195
|
+
await this.failJob(connectionName, driver, rawJob, job, payload, error);
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
// Check retryUntil
|
|
199
|
+
if (job.retryUntil && new Date() >= job.retryUntil) {
|
|
200
|
+
await this.failJob(connectionName, driver, rawJob, job, payload, error);
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
// Release the job back with backoff delay
|
|
204
|
+
const backoffDelay = job.getBackoffDelay(rawJob.attempts);
|
|
205
|
+
await driver.release(rawJob.id, backoffDelay);
|
|
206
|
+
console.error(`[Queue] Job [${job.displayName()}] failed (attempt ${rawJob.attempts}/${maxTries || 'unlimited'}). ` +
|
|
207
|
+
`Retrying in ${backoffDelay}s. Error: ${error.message}`);
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Mark a job as failed and store it
|
|
211
|
+
*/
|
|
212
|
+
async failJob(connectionName, driver, rawJob, job, payload, error) {
|
|
213
|
+
// Delete from the queue
|
|
214
|
+
await driver.delete(rawJob.id);
|
|
215
|
+
// Call the job's failed method
|
|
216
|
+
if (job.failed) {
|
|
217
|
+
try {
|
|
218
|
+
await job.failed(error);
|
|
219
|
+
}
|
|
220
|
+
catch (failedError) {
|
|
221
|
+
console.error(`[Queue] Error in failed() handler for [${job.displayName()}]:`, failedError);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
// Store in failed jobs table
|
|
225
|
+
try {
|
|
226
|
+
const failedProvider = this.getFailedJobProvider();
|
|
227
|
+
if (failedProvider) {
|
|
228
|
+
await failedProvider.log(connectionName, rawJob.queue, rawJob.payload, error);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
catch (storeError) {
|
|
232
|
+
console.error(`[Queue] Failed to store failed job:`, storeError);
|
|
233
|
+
}
|
|
234
|
+
console.error(`[Queue] Job [${job.displayName()}] has failed after ${rawJob.attempts} attempt(s). ` +
|
|
235
|
+
`Error: ${error.message}`);
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Get the failed job provider
|
|
239
|
+
*/
|
|
240
|
+
getFailedJobProvider() {
|
|
241
|
+
try {
|
|
242
|
+
return this.app.make('queue.failer');
|
|
243
|
+
}
|
|
244
|
+
catch {
|
|
245
|
+
return null;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Determine if the worker should stop
|
|
250
|
+
*/
|
|
251
|
+
shouldStop(options) {
|
|
252
|
+
// Check max jobs
|
|
253
|
+
if (options.maxJobs > 0 && this.jobsProcessed >= options.maxJobs) {
|
|
254
|
+
return true;
|
|
255
|
+
}
|
|
256
|
+
// Check max time
|
|
257
|
+
if (options.maxTime > 0) {
|
|
258
|
+
const elapsed = (Date.now() - this.startTime) / 1000;
|
|
259
|
+
if (elapsed >= options.maxTime) {
|
|
260
|
+
return true;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
// Check memory limit
|
|
264
|
+
if (this.memoryExceeded(options.memory)) {
|
|
265
|
+
return true;
|
|
266
|
+
}
|
|
267
|
+
return false;
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Determine if the memory limit has been exceeded
|
|
271
|
+
*/
|
|
272
|
+
memoryExceeded(memoryLimit) {
|
|
273
|
+
const usage = process.memoryUsage();
|
|
274
|
+
const usedMB = usage.rss / 1024 / 1024;
|
|
275
|
+
return usedMB >= memoryLimit;
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Sleep for the given number of seconds
|
|
279
|
+
*/
|
|
280
|
+
async sleep(seconds) {
|
|
281
|
+
return new Promise((resolve) => setTimeout(resolve, seconds * 1000));
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Listen for process signals for graceful shutdown
|
|
285
|
+
*/
|
|
286
|
+
listenForSignals() {
|
|
287
|
+
process.on('SIGTERM', () => {
|
|
288
|
+
this.shouldQuit = true;
|
|
289
|
+
});
|
|
290
|
+
process.on('SIGINT', () => {
|
|
291
|
+
this.shouldQuit = true;
|
|
292
|
+
});
|
|
293
|
+
process.on('SIGUSR2', () => {
|
|
294
|
+
// Restart signal (used by queue:restart)
|
|
295
|
+
this.shouldQuit = true;
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Stop the worker
|
|
300
|
+
*/
|
|
301
|
+
stop() {
|
|
302
|
+
this.shouldQuit = true;
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Pause the worker
|
|
306
|
+
*/
|
|
307
|
+
pause() {
|
|
308
|
+
this.paused = true;
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Resume the worker
|
|
312
|
+
*/
|
|
313
|
+
resume() {
|
|
314
|
+
this.paused = false;
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* Get the number of jobs processed
|
|
318
|
+
*/
|
|
319
|
+
getJobsProcessed() {
|
|
320
|
+
return this.jobsProcessed;
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
exports.Worker = Worker;
|
|
324
|
+
//# sourceMappingURL=Worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Worker.js","sourceRoot":"","sources":["../../../src/Queue/Workers/Worker.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAMH,8CAAgE;AAEhE,mDAAyD;AAIzD,MAAa,MAAM;IAOL;IACA;IAPF,UAAU,GAAY,KAAK,CAAC;IAC5B,MAAM,GAAY,KAAK,CAAC;IACxB,aAAa,GAAW,CAAC,CAAC;IAC1B,SAAS,GAAW,CAAC,CAAC;IAEhC,YACY,OAAqB,EACrB,GAAgB;QADhB,YAAO,GAAP,OAAO,CAAc;QACrB,QAAG,GAAH,GAAG,CAAa;IACzB,CAAC;IAEJ;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,cAAsB,EACtB,MAAc,EACd,UAAyB,EAAE;QAE3B,MAAM,IAAI,GAAG,EAAE,GAAG,sCAAsB,EAAE,GAAG,OAAO,EAAE,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE5B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,yBAAyB;YACzB,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;YAEpC,kBAAkB;YAClB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC7B,SAAS;YACX,CAAC;YAED,yCAAyC;YACzC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CACrC,cAAc,EACd,MAAM,EACN,IAAI,CACL,CAAC;YAEF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,uBAAuB;gBACvB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvB,IAAI,CAAC,IAAI,EAAE,CAAC;oBACZ,MAAM;gBACR,CAAC;gBACD,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,kCAAkC;gBAClC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oBAClB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;YAED,wBAAwB;YACxB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CACX,cAAsB,EACtB,MAAc,EACd,UAAyB,EAAE;QAE3B,MAAM,IAAI,GAAG,EAAE,GAAG,sCAAsB,EAAE,GAAG,OAAO,EAAE,CAAC;QACvD,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CACd,cAAsB,EACtB,MAAc,EACd,OAAgC;QAEhC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAEzD,mCAAmC;QACnC,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAEvC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC/D,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,UAAU,CACxB,cAAsB,EACtB,MAAmB,EACnB,MAAsB,EACtB,OAAgC;QAEhC,IAAI,OAAuB,CAAC;QAE5B,IAAI,CAAC;YACH,OAAO,GAAG,uBAAU,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kCAAkC;YAClC,OAAO,CAAC,KAAK,CAAC,6CAA6C,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YACxE,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,0CAA0C;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEvD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,sBAAsB,OAAO,CAAC,GAAG,kCAAkC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9F,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,2BAA2B;QAC3B,IAAI,GAAQ,CAAC;QACb,IAAI,CAAC;YACH,GAAG,GAAI,QAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;YAC5E,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,mBAAmB;QACnB,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC;QACtB,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACxB,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAE/B,sBAAsB;QACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;QAE5C,wBAAwB;QACxB,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAEtD,IAAI,CAAC;YACH,kCAAkC;YAClC,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAE9C,kDAAkD;YAClD,IAAI,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC;gBACrB,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;gBACvD,OAAO;YACT,CAAC;YAED,0CAA0C;YAC1C,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;gBACpB,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC/B,OAAO;YACT,CAAC;YAED,6BAA6B;YAC7B,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAE/B,uBAAuB;YACvB,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAEvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,kBAAkB,CAC3B,cAAc,EACd,MAAM,EACN,MAAM,EACN,GAAG,EACH,OAAO,EACP,QAAQ,EACR,KAAc,CACf,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,oBAAoB,CAClC,GAAQ,EACR,OAAgC;QAEhC,MAAM,UAAU,GAAoB,GAAG,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC;QAC7D,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;QAE/C,4BAA4B;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;YACnE,+BAA+B;YAC/B,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,EAAE,CAAC;IACnB,CAAC;IAED;;OAEG;IACO,uBAAuB,CAC/B,UAA2B,EAC3B,WAAgC;QAEhC,OAAO,UAAU,CAAC,WAAW,CAC3B,CAAC,IAAyB,EAAE,EAAiB,EAAE,EAAE;YAC/C,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAQ,EAAE,IAAI,CAAC,CAAC;QACrD,CAAC,EACD,WAAW,CACZ,CAAC;IACJ,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,kBAAkB,CAAC,GAAQ,EAAE,OAAe;QAC1D,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YACjB,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,GAAG,IAAI,CAAC;QAEjC,MAAM,OAAO,CAAC,IAAI,CAAC;YACjB,GAAG,CAAC,MAAM,EAAE;YACZ,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBAC/B,UAAU,CAAC,GAAG,EAAE;oBACd,MAAM,CAAC,IAAI,KAAK,CACd,QAAQ,GAAG,CAAC,WAAW,EAAE,uFAAuF,CACjH,CAAC,CAAC;gBACL,CAAC,EAAE,SAAS,CAAC,CAAC;YAChB,CAAC,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,kBAAkB,CAChC,cAAsB,EACtB,MAAmB,EACnB,MAAsB,EACtB,GAAQ,EACR,OAAuB,EACvB,QAAgB,EAChB,KAAY;QAEZ,yBAAyB;QACzB,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,cAAc,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAE9D,6CAA6C;QAC7C,IAAI,QAAQ,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAChD,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACxE,OAAO;QACT,CAAC;QAED,mBAAmB;QACnB,IAAI,GAAG,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACnD,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACxE,OAAO;QACT,CAAC;QAED,0CAA0C;QAC1C,MAAM,YAAY,GAAG,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1D,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QAE9C,OAAO,CAAC,KAAK,CACX,gBAAgB,GAAG,CAAC,WAAW,EAAE,qBAAqB,MAAM,CAAC,QAAQ,IAAI,QAAQ,IAAI,WAAW,KAAK;YACrG,eAAe,YAAY,aAAa,KAAK,CAAC,OAAO,EAAE,CACxD,CAAC;IACJ,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,OAAO,CACrB,cAAsB,EACtB,MAAmB,EACnB,MAAsB,EACtB,GAAQ,EACR,OAAuB,EACvB,KAAY;QAEZ,wBAAwB;QACxB,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAE/B,+BAA+B;QAC/B,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,WAAW,EAAE,CAAC;gBACrB,OAAO,CAAC,KAAK,CAAC,0CAA0C,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACnD,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,cAAc,CAAC,GAAG,CACtB,cAAc,EACd,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,OAAO,EACd,KAAK,CACN,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,UAAU,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,CAAC,KAAK,CACX,gBAAgB,GAAG,CAAC,WAAW,EAAE,sBAAsB,MAAM,CAAC,QAAQ,eAAe;YACrF,UAAU,KAAK,CAAC,OAAO,EAAE,CAC1B,CAAC;IACJ,CAAC;IAED;;OAEG;IACO,oBAAoB;QAC5B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAoB,cAAc,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACO,UAAU,CAAC,OAAgC;QACnD,iBAAiB;QACjB,IAAI,OAAO,CAAC,OAAO,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACjE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,iBAAiB;QACjB,IAAI,OAAO,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;YACrD,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC/B,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACO,cAAc,CAAC,WAAmB;QAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;QACvC,OAAO,MAAM,IAAI,WAAW,CAAC;IAC/B,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,KAAK,CAAC,OAAe;QACnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACO,gBAAgB;QACxB,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACzB,yCAAyC;YACzC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;CACF;AAnaD,wBAmaC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WorkerOptions
|
|
3
|
+
*
|
|
4
|
+
* Configuration options for the queue worker process.
|
|
5
|
+
* Mirrors Laravel's Illuminate\Queue\WorkerOptions.
|
|
6
|
+
*/
|
|
7
|
+
export interface WorkerOptions {
|
|
8
|
+
/**
|
|
9
|
+
* Worker name (for identification)
|
|
10
|
+
*/
|
|
11
|
+
name?: string;
|
|
12
|
+
/**
|
|
13
|
+
* The number of seconds to wait before polling for new jobs
|
|
14
|
+
* @default 3
|
|
15
|
+
*/
|
|
16
|
+
sleep?: number;
|
|
17
|
+
/**
|
|
18
|
+
* The maximum number of times a job should be attempted
|
|
19
|
+
* Used as default when the job doesn't specify its own tries
|
|
20
|
+
* @default 1
|
|
21
|
+
*/
|
|
22
|
+
tries?: number;
|
|
23
|
+
/**
|
|
24
|
+
* The number of seconds a child process can run
|
|
25
|
+
* @default 60
|
|
26
|
+
*/
|
|
27
|
+
timeout?: number;
|
|
28
|
+
/**
|
|
29
|
+
* The memory limit in megabytes
|
|
30
|
+
* @default 128
|
|
31
|
+
*/
|
|
32
|
+
memory?: number;
|
|
33
|
+
/**
|
|
34
|
+
* The maximum number of jobs to process before stopping
|
|
35
|
+
*/
|
|
36
|
+
maxJobs?: number;
|
|
37
|
+
/**
|
|
38
|
+
* The maximum number of seconds the worker should run
|
|
39
|
+
*/
|
|
40
|
+
maxTime?: number;
|
|
41
|
+
/**
|
|
42
|
+
* Force the worker to run even in maintenance mode
|
|
43
|
+
* @default false
|
|
44
|
+
*/
|
|
45
|
+
force?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Stop the worker when the queue is empty
|
|
48
|
+
* @default false
|
|
49
|
+
*/
|
|
50
|
+
stopWhenEmpty?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* The number of seconds to wait before retrying a job that encountered an uncaught exception
|
|
53
|
+
*/
|
|
54
|
+
backoff?: number | number[];
|
|
55
|
+
/**
|
|
56
|
+
* The number of seconds to rest between jobs
|
|
57
|
+
* @default 0
|
|
58
|
+
*/
|
|
59
|
+
rest?: number;
|
|
60
|
+
}
|
|
61
|
+
export declare const DEFAULT_WORKER_OPTIONS: Required<WorkerOptions>;
|
|
62
|
+
//# sourceMappingURL=WorkerOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkerOptions.d.ts","sourceRoot":"","sources":["../../../src/Queue/Workers/WorkerOptions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAE5B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,aAAa,CAY1D,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* WorkerOptions
|
|
4
|
+
*
|
|
5
|
+
* Configuration options for the queue worker process.
|
|
6
|
+
* Mirrors Laravel's Illuminate\Queue\WorkerOptions.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.DEFAULT_WORKER_OPTIONS = void 0;
|
|
10
|
+
exports.DEFAULT_WORKER_OPTIONS = {
|
|
11
|
+
name: 'default',
|
|
12
|
+
sleep: 3,
|
|
13
|
+
tries: 1,
|
|
14
|
+
timeout: 60,
|
|
15
|
+
memory: 128,
|
|
16
|
+
maxJobs: 0,
|
|
17
|
+
maxTime: 0,
|
|
18
|
+
force: false,
|
|
19
|
+
stopWhenEmpty: false,
|
|
20
|
+
backoff: 0,
|
|
21
|
+
rest: 0,
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=WorkerOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkerOptions.js","sourceRoot":"","sources":["../../../src/Queue/Workers/WorkerOptions.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAmEU,QAAA,sBAAsB,GAA4B;IAC7D,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,KAAK;IACZ,aAAa,EAAE,KAAK;IACpB,OAAO,EAAE,CAAC;IACV,IAAI,EAAE,CAAC;CACR,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Queue Module
|
|
3
|
+
*
|
|
4
|
+
* A complete Laravel-compatible queue system for TypeScript.
|
|
5
|
+
*/
|
|
6
|
+
export { Job } from './Job';
|
|
7
|
+
export type { JobClass } from './Job';
|
|
8
|
+
export { QueueManager } from './QueueManager';
|
|
9
|
+
export type { QueueConfig, QueueConnectionConfig, QueueFailedConfig, QueueBatchingConfig } from './QueueManager';
|
|
10
|
+
export { QueueServiceProvider } from './QueueServiceProvider';
|
|
11
|
+
export { PendingDispatch } from './PendingDispatch';
|
|
12
|
+
export { PendingChain } from './PendingChain';
|
|
13
|
+
export { JobPayload } from './JobPayload';
|
|
14
|
+
export type { JobPayloadData } from './JobPayload';
|
|
15
|
+
export type { QueueableJob } from './Contracts/QueueableJob';
|
|
16
|
+
export type { QueueDriver, QueueDriverJob } from './Contracts/QueueDriver';
|
|
17
|
+
export type { ShouldBeUnique, ShouldBeUniqueUntilProcessing } from './Contracts/ShouldBeUnique';
|
|
18
|
+
export { isShouldBeUnique } from './Contracts/ShouldBeUnique';
|
|
19
|
+
export { SyncDriver } from './Drivers/SyncDriver';
|
|
20
|
+
export { DatabaseDriver } from './Drivers/DatabaseDriver';
|
|
21
|
+
export { NullDriver } from './Drivers/NullDriver';
|
|
22
|
+
export { Worker } from './Workers/Worker';
|
|
23
|
+
export type { WorkerOptions } from './Workers/WorkerOptions';
|
|
24
|
+
export { DEFAULT_WORKER_OPTIONS } from './Workers/WorkerOptions';
|
|
25
|
+
export type { JobMiddleware } from './Middleware/JobMiddleware';
|
|
26
|
+
export { RateLimited } from './Middleware/RateLimited';
|
|
27
|
+
export { WithoutOverlapping } from './Middleware/WithoutOverlapping';
|
|
28
|
+
export { ThrottlesExceptions } from './Middleware/ThrottlesExceptions';
|
|
29
|
+
export type { FailedJobProvider, FailedJobRecord } from './Failed/FailedJobProvider';
|
|
30
|
+
export { DatabaseFailedJobProvider } from './Failed/DatabaseFailedJobProvider';
|
|
31
|
+
export { Batch } from './Batching/Batch';
|
|
32
|
+
export { PendingBatch } from './Batching/PendingBatch';
|
|
33
|
+
export { JobQueued } from './Events/JobQueued';
|
|
34
|
+
export { JobProcessing } from './Events/JobProcessing';
|
|
35
|
+
export { JobProcessed } from './Events/JobProcessed';
|
|
36
|
+
export { JobFailed } from './Events/JobFailed';
|
|
37
|
+
export { JobExceptionOccurred } from './Events/JobExceptionOccurred';
|
|
38
|
+
export { JobRetryRequested } from './Events/JobRetryRequested';
|
|
39
|
+
export { WorkerStopping } from './Events/WorkerStopping';
|
|
40
|
+
export { applyJobDispatchable } from './Concerns/Dispatchable';
|
|
41
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Queue/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,YAAY,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,WAAW,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACjH,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC3E,YAAY,EAAE,cAAc,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG9D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAGvE,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAG/E,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAGvD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Queue Module
|
|
4
|
+
*
|
|
5
|
+
* A complete Laravel-compatible queue system for TypeScript.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.applyJobDispatchable = exports.WorkerStopping = exports.JobRetryRequested = exports.JobExceptionOccurred = exports.JobFailed = exports.JobProcessed = exports.JobProcessing = exports.JobQueued = exports.PendingBatch = exports.Batch = exports.DatabaseFailedJobProvider = exports.ThrottlesExceptions = exports.WithoutOverlapping = exports.RateLimited = exports.DEFAULT_WORKER_OPTIONS = exports.Worker = exports.NullDriver = exports.DatabaseDriver = exports.SyncDriver = exports.isShouldBeUnique = exports.JobPayload = exports.PendingChain = exports.PendingDispatch = exports.QueueServiceProvider = exports.QueueManager = exports.Job = void 0;
|
|
9
|
+
// Core
|
|
10
|
+
var Job_1 = require("./Job");
|
|
11
|
+
Object.defineProperty(exports, "Job", { enumerable: true, get: function () { return Job_1.Job; } });
|
|
12
|
+
var QueueManager_1 = require("./QueueManager");
|
|
13
|
+
Object.defineProperty(exports, "QueueManager", { enumerable: true, get: function () { return QueueManager_1.QueueManager; } });
|
|
14
|
+
var QueueServiceProvider_1 = require("./QueueServiceProvider");
|
|
15
|
+
Object.defineProperty(exports, "QueueServiceProvider", { enumerable: true, get: function () { return QueueServiceProvider_1.QueueServiceProvider; } });
|
|
16
|
+
var PendingDispatch_1 = require("./PendingDispatch");
|
|
17
|
+
Object.defineProperty(exports, "PendingDispatch", { enumerable: true, get: function () { return PendingDispatch_1.PendingDispatch; } });
|
|
18
|
+
var PendingChain_1 = require("./PendingChain");
|
|
19
|
+
Object.defineProperty(exports, "PendingChain", { enumerable: true, get: function () { return PendingChain_1.PendingChain; } });
|
|
20
|
+
var JobPayload_1 = require("./JobPayload");
|
|
21
|
+
Object.defineProperty(exports, "JobPayload", { enumerable: true, get: function () { return JobPayload_1.JobPayload; } });
|
|
22
|
+
var ShouldBeUnique_1 = require("./Contracts/ShouldBeUnique");
|
|
23
|
+
Object.defineProperty(exports, "isShouldBeUnique", { enumerable: true, get: function () { return ShouldBeUnique_1.isShouldBeUnique; } });
|
|
24
|
+
// Drivers
|
|
25
|
+
var SyncDriver_1 = require("./Drivers/SyncDriver");
|
|
26
|
+
Object.defineProperty(exports, "SyncDriver", { enumerable: true, get: function () { return SyncDriver_1.SyncDriver; } });
|
|
27
|
+
var DatabaseDriver_1 = require("./Drivers/DatabaseDriver");
|
|
28
|
+
Object.defineProperty(exports, "DatabaseDriver", { enumerable: true, get: function () { return DatabaseDriver_1.DatabaseDriver; } });
|
|
29
|
+
var NullDriver_1 = require("./Drivers/NullDriver");
|
|
30
|
+
Object.defineProperty(exports, "NullDriver", { enumerable: true, get: function () { return NullDriver_1.NullDriver; } });
|
|
31
|
+
// Workers
|
|
32
|
+
var Worker_1 = require("./Workers/Worker");
|
|
33
|
+
Object.defineProperty(exports, "Worker", { enumerable: true, get: function () { return Worker_1.Worker; } });
|
|
34
|
+
var WorkerOptions_1 = require("./Workers/WorkerOptions");
|
|
35
|
+
Object.defineProperty(exports, "DEFAULT_WORKER_OPTIONS", { enumerable: true, get: function () { return WorkerOptions_1.DEFAULT_WORKER_OPTIONS; } });
|
|
36
|
+
var RateLimited_1 = require("./Middleware/RateLimited");
|
|
37
|
+
Object.defineProperty(exports, "RateLimited", { enumerable: true, get: function () { return RateLimited_1.RateLimited; } });
|
|
38
|
+
var WithoutOverlapping_1 = require("./Middleware/WithoutOverlapping");
|
|
39
|
+
Object.defineProperty(exports, "WithoutOverlapping", { enumerable: true, get: function () { return WithoutOverlapping_1.WithoutOverlapping; } });
|
|
40
|
+
var ThrottlesExceptions_1 = require("./Middleware/ThrottlesExceptions");
|
|
41
|
+
Object.defineProperty(exports, "ThrottlesExceptions", { enumerable: true, get: function () { return ThrottlesExceptions_1.ThrottlesExceptions; } });
|
|
42
|
+
var DatabaseFailedJobProvider_1 = require("./Failed/DatabaseFailedJobProvider");
|
|
43
|
+
Object.defineProperty(exports, "DatabaseFailedJobProvider", { enumerable: true, get: function () { return DatabaseFailedJobProvider_1.DatabaseFailedJobProvider; } });
|
|
44
|
+
// Batching
|
|
45
|
+
var Batch_1 = require("./Batching/Batch");
|
|
46
|
+
Object.defineProperty(exports, "Batch", { enumerable: true, get: function () { return Batch_1.Batch; } });
|
|
47
|
+
var PendingBatch_1 = require("./Batching/PendingBatch");
|
|
48
|
+
Object.defineProperty(exports, "PendingBatch", { enumerable: true, get: function () { return PendingBatch_1.PendingBatch; } });
|
|
49
|
+
// Events
|
|
50
|
+
var JobQueued_1 = require("./Events/JobQueued");
|
|
51
|
+
Object.defineProperty(exports, "JobQueued", { enumerable: true, get: function () { return JobQueued_1.JobQueued; } });
|
|
52
|
+
var JobProcessing_1 = require("./Events/JobProcessing");
|
|
53
|
+
Object.defineProperty(exports, "JobProcessing", { enumerable: true, get: function () { return JobProcessing_1.JobProcessing; } });
|
|
54
|
+
var JobProcessed_1 = require("./Events/JobProcessed");
|
|
55
|
+
Object.defineProperty(exports, "JobProcessed", { enumerable: true, get: function () { return JobProcessed_1.JobProcessed; } });
|
|
56
|
+
var JobFailed_1 = require("./Events/JobFailed");
|
|
57
|
+
Object.defineProperty(exports, "JobFailed", { enumerable: true, get: function () { return JobFailed_1.JobFailed; } });
|
|
58
|
+
var JobExceptionOccurred_1 = require("./Events/JobExceptionOccurred");
|
|
59
|
+
Object.defineProperty(exports, "JobExceptionOccurred", { enumerable: true, get: function () { return JobExceptionOccurred_1.JobExceptionOccurred; } });
|
|
60
|
+
var JobRetryRequested_1 = require("./Events/JobRetryRequested");
|
|
61
|
+
Object.defineProperty(exports, "JobRetryRequested", { enumerable: true, get: function () { return JobRetryRequested_1.JobRetryRequested; } });
|
|
62
|
+
var WorkerStopping_1 = require("./Events/WorkerStopping");
|
|
63
|
+
Object.defineProperty(exports, "WorkerStopping", { enumerable: true, get: function () { return WorkerStopping_1.WorkerStopping; } });
|
|
64
|
+
// Concerns
|
|
65
|
+
var Dispatchable_1 = require("./Concerns/Dispatchable");
|
|
66
|
+
Object.defineProperty(exports, "applyJobDispatchable", { enumerable: true, get: function () { return Dispatchable_1.applyJobDispatchable; } });
|
|
67
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Queue/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,OAAO;AACP,6BAA4B;AAAnB,0FAAA,GAAG,OAAA;AAEZ,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAErB,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AAOnB,6DAA8D;AAArD,kHAAA,gBAAgB,OAAA;AAEzB,UAAU;AACV,mDAAkD;AAAzC,wGAAA,UAAU,OAAA;AACnB,2DAA0D;AAAjD,gHAAA,cAAc,OAAA;AACvB,mDAAkD;AAAzC,wGAAA,UAAU,OAAA;AAEnB,UAAU;AACV,2CAA0C;AAAjC,gGAAA,MAAM,OAAA;AAEf,yDAAiE;AAAxD,uHAAA,sBAAsB,OAAA;AAI/B,wDAAuD;AAA9C,0GAAA,WAAW,OAAA;AACpB,sEAAqE;AAA5D,wHAAA,kBAAkB,OAAA;AAC3B,wEAAuE;AAA9D,0HAAA,mBAAmB,OAAA;AAI5B,gFAA+E;AAAtE,sIAAA,yBAAyB,OAAA;AAElC,WAAW;AACX,0CAAyC;AAAhC,8FAAA,KAAK,OAAA;AACd,wDAAuD;AAA9C,4GAAA,YAAY,OAAA;AAErB,SAAS;AACT,gDAA+C;AAAtC,sGAAA,SAAS,OAAA;AAClB,wDAAuD;AAA9C,8GAAA,aAAa,OAAA;AACtB,sDAAqD;AAA5C,4GAAA,YAAY,OAAA;AACrB,gDAA+C;AAAtC,sGAAA,SAAS,OAAA;AAClB,sEAAqE;AAA5D,4HAAA,oBAAoB,OAAA;AAC7B,gEAA+D;AAAtD,sHAAA,iBAAiB,OAAA;AAC1B,0DAAyD;AAAhD,gHAAA,cAAc,OAAA;AAEvB,WAAW;AACX,wDAA+D;AAAtD,oHAAA,oBAAoB,OAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -21,12 +21,15 @@ export { Facade } from './Support/Facade';
|
|
|
21
21
|
export { Route } from './Facades/Route';
|
|
22
22
|
export { Config } from './Facades/Config';
|
|
23
23
|
export { Event as EventFacade } from './Facades/Event';
|
|
24
|
+
export { Queue as QueueFacade } from './Facades/Queue';
|
|
25
|
+
export { Bus } from './Facades/Bus';
|
|
24
26
|
export { loadRoutes, base_path, routes_path } from './Support/helpers';
|
|
25
27
|
export { Injectable } from './Support/Injectable';
|
|
26
28
|
export { ValidateRequest } from './Support/ValidateRequest';
|
|
27
29
|
export { config } from './Support/helpers';
|
|
28
30
|
export { RouteServiceProvider } from './Providers/RouteServiceProvider';
|
|
29
31
|
export { DatabaseServiceProvider } from './Database/DatabaseServiceProvider';
|
|
32
|
+
export { QueueServiceProvider } from './Queue/QueueServiceProvider';
|
|
30
33
|
export { DatabaseManager } from './Database/DatabaseManager';
|
|
31
34
|
export { Connection } from './Database/Connection';
|
|
32
35
|
export { Builder as QueryBuilder } from './Database/Query/Builder';
|
|
@@ -72,6 +75,20 @@ export { MakeListenerCommand } from './Console/Commands/MakeListenerCommand';
|
|
|
72
75
|
export { EventListCommand } from './Console/Commands/EventListCommand';
|
|
73
76
|
export { EventCacheCommand } from './Console/Commands/EventCacheCommand';
|
|
74
77
|
export { EventClearCommand } from './Console/Commands/EventClearCommand';
|
|
78
|
+
export { QueueWorkCommand } from './Console/Commands/QueueWorkCommand';
|
|
79
|
+
export { QueueRestartCommand } from './Console/Commands/QueueRestartCommand';
|
|
80
|
+
export { QueueFailedCommand } from './Console/Commands/QueueFailedCommand';
|
|
81
|
+
export { QueueRetryCommand } from './Console/Commands/QueueRetryCommand';
|
|
82
|
+
export { QueueForgetCommand } from './Console/Commands/QueueForgetCommand';
|
|
83
|
+
export { QueueFlushCommand } from './Console/Commands/QueueFlushCommand';
|
|
84
|
+
export { QueueClearCommand } from './Console/Commands/QueueClearCommand';
|
|
85
|
+
export { QueueMonitorCommand } from './Console/Commands/QueueMonitorCommand';
|
|
86
|
+
export { QueueTableCommand } from './Console/Commands/QueueTableCommand';
|
|
87
|
+
export { QueueFailedTableCommand } from './Console/Commands/QueueFailedTableCommand';
|
|
88
|
+
export { QueueBatchesTableCommand } from './Console/Commands/QueueBatchesTableCommand';
|
|
89
|
+
export { QueuePruneBatchesCommand } from './Console/Commands/QueuePruneBatchesCommand';
|
|
90
|
+
export { QueuePruneFailedCommand } from './Console/Commands/QueuePruneFailedCommand';
|
|
91
|
+
export { MakeJobCommand } from './Console/Commands/MakeJobCommand';
|
|
75
92
|
export type { DatabaseAdapter, DatabaseConfig, QueryResult } from './Database/Contracts/DatabaseAdapter';
|
|
76
93
|
export type { QueryBuilderInterface, WhereOperator, OrderDirection, JoinType, WhereClause, JoinClause, OrderByClause, } from './Database/Contracts/QueryBuilderInterface';
|
|
77
94
|
export type { Schema, Blueprint, ColumnDefinition, ForeignKeyDefinition } from './Database/Contracts/Schema';
|
|
@@ -87,6 +104,39 @@ export { Dispatchable, applyDispatchable } from './Events/Concerns/Dispatchable'
|
|
|
87
104
|
export { ModelEvent, ModelRetrieved, ModelCreating, ModelCreated, ModelUpdating, ModelUpdated, ModelSaving, ModelSaved, ModelDeleting, ModelDeleted, } from './Database/Ensemble/Events';
|
|
88
105
|
export type { DispatcherContract } from './Events/Contracts/Dispatcher';
|
|
89
106
|
export type { EventListener, EventSubscriber, ListenerInterface, ListenerClosure, EventPayload, QueuedListener } from './Events/types';
|
|
107
|
+
export { Job } from './Queue/Job';
|
|
108
|
+
export type { JobClass } from './Queue/Job';
|
|
109
|
+
export { QueueManager } from './Queue/QueueManager';
|
|
110
|
+
export type { QueueConfig, QueueConnectionConfig, QueueFailedConfig, QueueBatchingConfig } from './Queue/QueueManager';
|
|
111
|
+
export { PendingDispatch as QueuePendingDispatch } from './Queue/PendingDispatch';
|
|
112
|
+
export { PendingChain } from './Queue/PendingChain';
|
|
113
|
+
export { JobPayload } from './Queue/JobPayload';
|
|
114
|
+
export type { QueueableJob } from './Queue/Contracts/QueueableJob';
|
|
115
|
+
export type { QueueDriver, QueueDriverJob } from './Queue/Contracts/QueueDriver';
|
|
116
|
+
export type { ShouldBeUnique, ShouldBeUniqueUntilProcessing } from './Queue/Contracts/ShouldBeUnique';
|
|
117
|
+
export { isShouldBeUnique } from './Queue/Contracts/ShouldBeUnique';
|
|
118
|
+
export { SyncDriver } from './Queue/Drivers/SyncDriver';
|
|
119
|
+
export { DatabaseDriver as DatabaseQueueDriver } from './Queue/Drivers/DatabaseDriver';
|
|
120
|
+
export { NullDriver as NullQueueDriver } from './Queue/Drivers/NullDriver';
|
|
121
|
+
export { Worker } from './Queue/Workers/Worker';
|
|
122
|
+
export type { WorkerOptions } from './Queue/Workers/WorkerOptions';
|
|
123
|
+
export type { JobMiddleware } from './Queue/Middleware/JobMiddleware';
|
|
124
|
+
export { RateLimited } from './Queue/Middleware/RateLimited';
|
|
125
|
+
export { WithoutOverlapping } from './Queue/Middleware/WithoutOverlapping';
|
|
126
|
+
export { ThrottlesExceptions } from './Queue/Middleware/ThrottlesExceptions';
|
|
127
|
+
export type { FailedJobProvider, FailedJobRecord } from './Queue/Failed/FailedJobProvider';
|
|
128
|
+
export { DatabaseFailedJobProvider } from './Queue/Failed/DatabaseFailedJobProvider';
|
|
129
|
+
export { Batch } from './Queue/Batching/Batch';
|
|
130
|
+
export { PendingBatch } from './Queue/Batching/PendingBatch';
|
|
131
|
+
export { JobQueued } from './Queue/Events/JobQueued';
|
|
132
|
+
export { JobProcessing } from './Queue/Events/JobProcessing';
|
|
133
|
+
export { JobProcessed } from './Queue/Events/JobProcessed';
|
|
134
|
+
export { JobFailed } from './Queue/Events/JobFailed';
|
|
135
|
+
export { JobExceptionOccurred } from './Queue/Events/JobExceptionOccurred';
|
|
136
|
+
export { JobRetryRequested } from './Queue/Events/JobRetryRequested';
|
|
137
|
+
export { WorkerStopping } from './Queue/Events/WorkerStopping';
|
|
138
|
+
export { isShouldQueue } from './Listeners/Contracts/ShouldQueue';
|
|
139
|
+
export type { ShouldQueue } from './Listeners/Contracts/ShouldQueue';
|
|
90
140
|
export type { HttpMethod, RouteAction, Middleware } from './Routing/Route';
|
|
91
141
|
export type { Abstract, Concrete, Binding } from './Container/Container';
|
|
92
142
|
export type { CookieOptions } from './Routing/Response';
|