qdone 2.0.44-alpha → 2.0.45-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,9 @@ 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
|
+
this.jobsByMessageId[failed.Id].status = 'failed';
|
|
169
169
|
}
|
|
170
170
|
}
|
|
171
171
|
if (result.Successful) {
|
|
@@ -206,9 +206,9 @@ class JobExecutor {
|
|
|
206
206
|
if (result.Failed) {
|
|
207
207
|
console.error('FAILED_MESSAGES', result.Failed);
|
|
208
208
|
for (const failed of result.Failed) {
|
|
209
|
-
console.error('FAILED_TO_DELETE_JOB', this.jobsByMessageId[failed.Id]);
|
|
209
|
+
console.error('FAILED_TO_DELETE_JOB', { failedEntry: failed, job: this.jobsByMessageId[failed.Id] });
|
|
210
210
|
// ensure that we clean this one up so it doesn't generate api calls
|
|
211
|
-
this.
|
|
211
|
+
this.jobsByMessageId[failed.Id].status = 'failed';
|
|
212
212
|
}
|
|
213
213
|
}
|
|
214
214
|
if (result.Successful) {
|
|
@@ -221,7 +221,7 @@ class JobExecutor {
|
|
|
221
221
|
console.log(JSON.stringify({ event: 'DELETE_MESSAGES', timestamp: start, count, qrl }));
|
|
222
222
|
}
|
|
223
223
|
// 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)));
|
|
224
|
+
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
225
|
}
|
|
226
226
|
debug('DeleteMessageBatch returned', result);
|
|
227
227
|
// 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
|
+
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
|
+
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
|
)
|