qdone 2.0.44-alpha → 2.0.46-alpha
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.
|
@@ -18,9 +18,9 @@ const maxJobSeconds = 12 * 60 * 60;
|
|
|
18
18
|
class JobExecutor {
|
|
19
19
|
constructor(opt) {
|
|
20
20
|
this.opt = opt;
|
|
21
|
-
this.jobs = [];
|
|
22
|
-
this.jobsByMessageId = {};
|
|
23
|
-
this.jobsByQueue = new Map();
|
|
21
|
+
this.jobs = []; // for full traversals
|
|
22
|
+
this.jobsByMessageId = {}; // for looking up via message id
|
|
23
|
+
this.jobsByQueue = new Map(); // for looking up via queue name
|
|
24
24
|
this.stats = {
|
|
25
25
|
activeJobs: 0,
|
|
26
26
|
waitingJobs: 0,
|
|
@@ -163,9 +163,10 @@ class JobExecutor {
|
|
|
163
163
|
if (result.Failed) {
|
|
164
164
|
console.error('FAILED_MESSAGES', result.Failed);
|
|
165
165
|
for (const failed of result.Failed) {
|
|
166
|
-
console.error('FAILED_TO_EXTEND_JOB', this.jobsByMessageId[failed.Id]);
|
|
166
|
+
console.error('FAILED_TO_EXTEND_JOB', { failedEntry: failed, job: this.jobsByMessageId[failed.Id] });
|
|
167
167
|
// ensure that we clean this one up so it doesn't generate api calls
|
|
168
|
-
this.
|
|
168
|
+
if (this.jobsByMessageId[failed.Id])
|
|
169
|
+
this.jobsByMessageId[failed.Id].status = 'failed';
|
|
169
170
|
}
|
|
170
171
|
}
|
|
171
172
|
if (result.Successful) {
|
|
@@ -206,9 +207,10 @@ class JobExecutor {
|
|
|
206
207
|
if (result.Failed) {
|
|
207
208
|
console.error('FAILED_MESSAGES', result.Failed);
|
|
208
209
|
for (const failed of result.Failed) {
|
|
209
|
-
console.error('FAILED_TO_DELETE_JOB', this.jobsByMessageId[failed.Id]);
|
|
210
|
+
console.error('FAILED_TO_DELETE_JOB', { failedEntry: failed, job: this.jobsByMessageId[failed.Id] });
|
|
210
211
|
// ensure that we clean this one up so it doesn't generate api calls
|
|
211
|
-
this.
|
|
212
|
+
if (this.jobsByMessageId[failed.Id])
|
|
213
|
+
this.jobsByMessageId[failed.Id].status = 'failed';
|
|
212
214
|
}
|
|
213
215
|
}
|
|
214
216
|
if (result.Successful) {
|
|
@@ -221,7 +223,7 @@ class JobExecutor {
|
|
|
221
223
|
console.log(JSON.stringify({ event: 'DELETE_MESSAGES', timestamp: start, count, qrl }));
|
|
222
224
|
}
|
|
223
225
|
// Mark batch as processed for dedup
|
|
224
|
-
await Promise.all(result.Successful.map(e => (0, dedup_js_1.dedupSuccessfullyProcessed)(this.jobsByMessageId[e.Id].message, this.opt)));
|
|
226
|
+
await Promise.all(result.Successful.filter(e => this.jobsByMessageId[e.Id]).map(e => (0, dedup_js_1.dedupSuccessfullyProcessed)(this.jobsByMessageId[e.Id].message, this.opt)));
|
|
225
227
|
}
|
|
226
228
|
debug('DeleteMessageBatch returned', result);
|
|
227
229
|
// TODO Sentry
|
package/package.json
CHANGED
|
@@ -18,9 +18,9 @@ const maxJobSeconds = 12 * 60 * 60
|
|
|
18
18
|
export class JobExecutor {
|
|
19
19
|
constructor (opt) {
|
|
20
20
|
this.opt = opt
|
|
21
|
-
this.jobs = []
|
|
22
|
-
this.jobsByMessageId = {}
|
|
23
|
-
this.jobsByQueue = new Map()
|
|
21
|
+
this.jobs = [] // for full traversals
|
|
22
|
+
this.jobsByMessageId = {} // for looking up via message id
|
|
23
|
+
this.jobsByQueue = new Map() // for looking up via queue name
|
|
24
24
|
this.stats = {
|
|
25
25
|
activeJobs: 0,
|
|
26
26
|
waitingJobs: 0,
|
|
@@ -167,9 +167,9 @@ export class JobExecutor {
|
|
|
167
167
|
if (result.Failed) {
|
|
168
168
|
console.error('FAILED_MESSAGES', result.Failed)
|
|
169
169
|
for (const failed of result.Failed) {
|
|
170
|
-
console.error('FAILED_TO_EXTEND_JOB', this.jobsByMessageId[failed.Id])
|
|
170
|
+
console.error('FAILED_TO_EXTEND_JOB', { failedEntry: failed, job: this.jobsByMessageId[failed.Id] })
|
|
171
171
|
// ensure that we clean this one up so it doesn't generate api calls
|
|
172
|
-
this.
|
|
172
|
+
if (this.jobsByMessageId[failed.Id]) this.jobsByMessageId[failed.Id].status = 'failed'
|
|
173
173
|
}
|
|
174
174
|
}
|
|
175
175
|
if (result.Successful) {
|
|
@@ -211,9 +211,9 @@ export class JobExecutor {
|
|
|
211
211
|
if (result.Failed) {
|
|
212
212
|
console.error('FAILED_MESSAGES', result.Failed)
|
|
213
213
|
for (const failed of result.Failed) {
|
|
214
|
-
console.error('FAILED_TO_DELETE_JOB', this.jobsByMessageId[failed.Id])
|
|
214
|
+
console.error('FAILED_TO_DELETE_JOB', { failedEntry: failed, job: this.jobsByMessageId[failed.Id] })
|
|
215
215
|
// ensure that we clean this one up so it doesn't generate api calls
|
|
216
|
-
this.
|
|
216
|
+
if (this.jobsByMessageId[failed.Id]) this.jobsByMessageId[failed.Id].status = 'failed'
|
|
217
217
|
}
|
|
218
218
|
}
|
|
219
219
|
if (result.Successful) {
|
|
@@ -227,7 +227,7 @@ export class JobExecutor {
|
|
|
227
227
|
|
|
228
228
|
// Mark batch as processed for dedup
|
|
229
229
|
await Promise.all(
|
|
230
|
-
result.Successful.map(
|
|
230
|
+
result.Successful.filter(e => this.jobsByMessageId[e.Id]).map(
|
|
231
231
|
e => dedupSuccessfullyProcessed(this.jobsByMessageId[e.Id].message, this.opt)
|
|
232
232
|
)
|
|
233
233
|
)
|