@oneuptime/common 7.0.4810 → 7.0.4815
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.
|
@@ -138,11 +138,11 @@ export default class Queue {
|
|
|
138
138
|
@CaptureSpan()
|
|
139
139
|
public static async getQueueSize(queueName: QueueName): Promise<number> {
|
|
140
140
|
const queue: BullQueue = this.getQueue(queueName);
|
|
141
|
-
const
|
|
142
|
-
const
|
|
143
|
-
const
|
|
141
|
+
const waitingCount: number = await queue.getWaitingCount();
|
|
142
|
+
const activeCount: number = await queue.getActiveCount();
|
|
143
|
+
const delayedCount: number = await queue.getDelayedCount();
|
|
144
144
|
|
|
145
|
-
return
|
|
145
|
+
return waitingCount + activeCount + delayedCount;
|
|
146
146
|
}
|
|
147
147
|
|
|
148
148
|
@CaptureSpan()
|
|
@@ -155,24 +155,60 @@ export default class Queue {
|
|
|
155
155
|
total: number;
|
|
156
156
|
}> {
|
|
157
157
|
const queue: BullQueue = this.getQueue(queueName);
|
|
158
|
-
const
|
|
159
|
-
const
|
|
160
|
-
const
|
|
161
|
-
const
|
|
162
|
-
const
|
|
158
|
+
const waitingCount: number = await queue.getWaitingCount();
|
|
159
|
+
const activeCount: number = await queue.getActiveCount();
|
|
160
|
+
const completedCount: number = await queue.getCompletedCount();
|
|
161
|
+
const failedCount: number = await queue.getFailedCount();
|
|
162
|
+
const delayedCount: number = await queue.getDelayedCount();
|
|
163
163
|
|
|
164
164
|
return {
|
|
165
|
-
waiting:
|
|
166
|
-
active:
|
|
167
|
-
completed:
|
|
168
|
-
failed:
|
|
169
|
-
delayed:
|
|
165
|
+
waiting: waitingCount,
|
|
166
|
+
active: activeCount,
|
|
167
|
+
completed: completedCount,
|
|
168
|
+
failed: failedCount,
|
|
169
|
+
delayed: delayedCount,
|
|
170
170
|
total:
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
171
|
+
waitingCount +
|
|
172
|
+
activeCount +
|
|
173
|
+
completedCount +
|
|
174
|
+
failedCount +
|
|
175
|
+
delayedCount,
|
|
176
176
|
};
|
|
177
177
|
}
|
|
178
|
+
|
|
179
|
+
@CaptureSpan()
|
|
180
|
+
public static async getFailedJobs(
|
|
181
|
+
queueName: QueueName,
|
|
182
|
+
options?: {
|
|
183
|
+
start?: number;
|
|
184
|
+
end?: number;
|
|
185
|
+
},
|
|
186
|
+
): Promise<
|
|
187
|
+
Array<{
|
|
188
|
+
id: string;
|
|
189
|
+
name: string;
|
|
190
|
+
data: JSONObject;
|
|
191
|
+
failedReason: string;
|
|
192
|
+
processedOn: Date | null;
|
|
193
|
+
finishedOn: Date | null;
|
|
194
|
+
attemptsMade: number;
|
|
195
|
+
}>
|
|
196
|
+
> {
|
|
197
|
+
const queue: BullQueue = this.getQueue(queueName);
|
|
198
|
+
const start: number = options?.start || 0;
|
|
199
|
+
const end: number = options?.end || 100;
|
|
200
|
+
const failed: Job[] = await queue.getFailed(start, end);
|
|
201
|
+
|
|
202
|
+
return failed.map((job: Job) => {
|
|
203
|
+
return {
|
|
204
|
+
id: job.id || "unknown",
|
|
205
|
+
name: job.name || "unknown",
|
|
206
|
+
data: job.data as JSONObject,
|
|
207
|
+
failedReason: job.failedReason || "No reason provided",
|
|
208
|
+
processedOn: job.processedOn ? new Date(job.processedOn) : null,
|
|
209
|
+
finishedOn: job.finishedOn ? new Date(job.finishedOn) : null,
|
|
210
|
+
attemptsMade: job.attemptsMade || 0,
|
|
211
|
+
};
|
|
212
|
+
});
|
|
213
|
+
}
|
|
178
214
|
}
|
|
@@ -85,31 +85,48 @@ class Queue {
|
|
|
85
85
|
}
|
|
86
86
|
static async getQueueSize(queueName) {
|
|
87
87
|
const queue = this.getQueue(queueName);
|
|
88
|
-
const
|
|
89
|
-
const
|
|
90
|
-
const
|
|
91
|
-
return
|
|
88
|
+
const waitingCount = await queue.getWaitingCount();
|
|
89
|
+
const activeCount = await queue.getActiveCount();
|
|
90
|
+
const delayedCount = await queue.getDelayedCount();
|
|
91
|
+
return waitingCount + activeCount + delayedCount;
|
|
92
92
|
}
|
|
93
93
|
static async getQueueStats(queueName) {
|
|
94
94
|
const queue = this.getQueue(queueName);
|
|
95
|
-
const
|
|
96
|
-
const
|
|
97
|
-
const
|
|
98
|
-
const
|
|
99
|
-
const
|
|
95
|
+
const waitingCount = await queue.getWaitingCount();
|
|
96
|
+
const activeCount = await queue.getActiveCount();
|
|
97
|
+
const completedCount = await queue.getCompletedCount();
|
|
98
|
+
const failedCount = await queue.getFailedCount();
|
|
99
|
+
const delayedCount = await queue.getDelayedCount();
|
|
100
100
|
return {
|
|
101
|
-
waiting:
|
|
102
|
-
active:
|
|
103
|
-
completed:
|
|
104
|
-
failed:
|
|
105
|
-
delayed:
|
|
106
|
-
total:
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
101
|
+
waiting: waitingCount,
|
|
102
|
+
active: activeCount,
|
|
103
|
+
completed: completedCount,
|
|
104
|
+
failed: failedCount,
|
|
105
|
+
delayed: delayedCount,
|
|
106
|
+
total: waitingCount +
|
|
107
|
+
activeCount +
|
|
108
|
+
completedCount +
|
|
109
|
+
failedCount +
|
|
110
|
+
delayedCount,
|
|
111
111
|
};
|
|
112
112
|
}
|
|
113
|
+
static async getFailedJobs(queueName, options) {
|
|
114
|
+
const queue = this.getQueue(queueName);
|
|
115
|
+
const start = (options === null || options === void 0 ? void 0 : options.start) || 0;
|
|
116
|
+
const end = (options === null || options === void 0 ? void 0 : options.end) || 100;
|
|
117
|
+
const failed = await queue.getFailed(start, end);
|
|
118
|
+
return failed.map((job) => {
|
|
119
|
+
return {
|
|
120
|
+
id: job.id || "unknown",
|
|
121
|
+
name: job.name || "unknown",
|
|
122
|
+
data: job.data,
|
|
123
|
+
failedReason: job.failedReason || "No reason provided",
|
|
124
|
+
processedOn: job.processedOn ? new Date(job.processedOn) : null,
|
|
125
|
+
finishedOn: job.finishedOn ? new Date(job.finishedOn) : null,
|
|
126
|
+
attemptsMade: job.attemptsMade || 0,
|
|
127
|
+
};
|
|
128
|
+
});
|
|
129
|
+
}
|
|
113
130
|
}
|
|
114
131
|
Queue.queueDict = {};
|
|
115
132
|
export default Queue;
|
|
@@ -155,4 +172,10 @@ __decorate([
|
|
|
155
172
|
__metadata("design:paramtypes", [String]),
|
|
156
173
|
__metadata("design:returntype", Promise)
|
|
157
174
|
], Queue, "getQueueStats", null);
|
|
175
|
+
__decorate([
|
|
176
|
+
CaptureSpan(),
|
|
177
|
+
__metadata("design:type", Function),
|
|
178
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
179
|
+
__metadata("design:returntype", Promise)
|
|
180
|
+
], Queue, "getFailedJobs", null);
|
|
158
181
|
//# sourceMappingURL=Queue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Queue.js","sourceRoot":"","sources":["../../../../Server/Infrastructure/Queue.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Queue.js","sourceRoot":"","sources":["../../../../Server/Infrastructure/Queue.ts"],"names":[],"mappings":"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"}
|