qdone 2.0.27-alpha → 2.0.28-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.
@@ -96,10 +96,10 @@ var JobExecutor = /** @class */ (function () {
96
96
  */
97
97
  JobExecutor.prototype.maintainVisibility = function () {
98
98
  return __awaiter(this, void 0, void 0, function () {
99
- var nextCheckInMs, start, jobsToExtendByQrl, jobsToDeleteByQrl, jobsToCleanup, i, job, jobRunTime, jobsToDelete, jobsToExtend, doubled, secondsUntilMax, _a, _b, _c, _i, qrl, jobsToExtend, entries, messageId, job, entry, input, result, count, _d, _e, _f, _g, qrl, jobsToDelete, entries, messageId, job, entry, input, result, count;
99
+ var nextCheckInMs, start, jobsToExtendByQrl, jobsToDeleteByQrl, jobsToCleanup, i, job, jobRunTime, jobsToDelete, jobsToExtend, doubled, secondsUntilMax, _a, _b, _c, _i, qrl, jobsToExtend, entries, messageId, job, entry, input, result, _d, _e, failed, count, _f, _g, _h, _j, qrl, jobsToDelete, entries, messageId, job, entry, input, result, _k, _l, failed, count;
100
100
  var _this = this;
101
- return __generator(this, function (_h) {
102
- switch (_h.label) {
101
+ return __generator(this, function (_m) {
102
+ switch (_m.label) {
103
103
  case 0:
104
104
  // Bail if we are shutting down
105
105
  if (this.shutdownRequested && this.stats.activeJobs === 0 && this.jobs.length === 0) {
@@ -149,7 +149,7 @@ var JobExecutor = /** @class */ (function () {
149
149
  secondsUntilMax = Math.max(1, maxJobSeconds - jobRunTime);
150
150
  // const secondsUntilKill = Math.max(1, this.opt.killAfter - jobRunTime)
151
151
  job.visibilityTimeout = Math.min(doubled, secondsUntilMax); //, secondsUntilKill)
152
- job.extendAtSecond = Math.round(jobRunTime + job.visibilityTimeout); // this is what we use next time
152
+ job.extendAtSecond = Math.round(jobRunTime + job.visibilityTimeout / 2); // this is what we use next time
153
153
  debug({ doubled: doubled, secondsUntilMax: secondsUntilMax, job: job });
154
154
  }
155
155
  }
@@ -159,7 +159,7 @@ var JobExecutor = /** @class */ (function () {
159
159
  for (_c in _a)
160
160
  _b.push(_c);
161
161
  _i = 0;
162
- _h.label = 1;
162
+ _m.label = 1;
163
163
  case 1:
164
164
  if (!(_i < _b.length)) return [3 /*break*/, 5];
165
165
  _c = _b[_i];
@@ -167,7 +167,7 @@ var JobExecutor = /** @class */ (function () {
167
167
  qrl = _c;
168
168
  jobsToExtend = jobsToExtendByQrl[qrl];
169
169
  debug({ qrl: qrl, jobsToExtend: jobsToExtend });
170
- _h.label = 2;
170
+ _m.label = 2;
171
171
  case 2:
172
172
  if (!jobsToExtend.length) return [3 /*break*/, 4];
173
173
  entries = [];
@@ -175,7 +175,7 @@ var JobExecutor = /** @class */ (function () {
175
175
  while (messageId++ < 10 && jobsToExtend.length) {
176
176
  job = jobsToExtend.shift();
177
177
  entry = {
178
- Id: '' + messageId,
178
+ Id: job.message.MessageId,
179
179
  ReceiptHandle: job.message.ReceiptHandle,
180
180
  VisibilityTimeout: job.visibilityTimeout
181
181
  };
@@ -186,9 +186,16 @@ var JobExecutor = /** @class */ (function () {
186
186
  debug({ ChangeMessageVisibilityBatch: input });
187
187
  return [4 /*yield*/, (0, sqs_js_1.getSQSClient)().send(new client_sqs_1.ChangeMessageVisibilityBatchCommand(input))];
188
188
  case 3:
189
- result = _h.sent();
189
+ result = _m.sent();
190
190
  debug('ChangeMessageVisibilityBatch returned', result);
191
191
  this.stats.sqsCalls++;
192
+ if (result.Failed) {
193
+ console.error('FAILED_MESSAGES', result.Failed);
194
+ for (_d = 0, _e = result.Failed; _d < _e.length; _d++) {
195
+ failed = _e[_d];
196
+ console.error('FAILED_TO_EXTEND_JOB', this.jobsByMessageId[failed.Id]);
197
+ }
198
+ }
192
199
  if (result.Successful) {
193
200
  count = result.Successful.length || 0;
194
201
  this.stats.timeoutsExtended += count;
@@ -204,19 +211,19 @@ var JobExecutor = /** @class */ (function () {
204
211
  _i++;
205
212
  return [3 /*break*/, 1];
206
213
  case 5:
207
- _d = jobsToDeleteByQrl;
208
- _e = [];
209
- for (_f in _d)
210
- _e.push(_f);
211
- _g = 0;
212
- _h.label = 6;
214
+ _f = jobsToDeleteByQrl;
215
+ _g = [];
216
+ for (_h in _f)
217
+ _g.push(_h);
218
+ _j = 0;
219
+ _m.label = 6;
213
220
  case 6:
214
- if (!(_g < _e.length)) return [3 /*break*/, 10];
215
- _f = _e[_g];
216
- if (!(_f in _d)) return [3 /*break*/, 9];
217
- qrl = _f;
221
+ if (!(_j < _g.length)) return [3 /*break*/, 10];
222
+ _h = _g[_j];
223
+ if (!(_h in _f)) return [3 /*break*/, 9];
224
+ qrl = _h;
218
225
  jobsToDelete = jobsToDeleteByQrl[qrl];
219
- _h.label = 7;
226
+ _m.label = 7;
220
227
  case 7:
221
228
  if (!jobsToDelete.length) return [3 /*break*/, 9];
222
229
  entries = [];
@@ -224,7 +231,7 @@ var JobExecutor = /** @class */ (function () {
224
231
  while (messageId++ < 10 && jobsToDelete.length) {
225
232
  job = jobsToDelete.shift();
226
233
  entry = {
227
- Id: '' + messageId,
234
+ Id: job.message.MessageId,
228
235
  ReceiptHandle: job.message.ReceiptHandle,
229
236
  VisibilityTimeout: job.visibilityTimeout
230
237
  };
@@ -235,8 +242,15 @@ var JobExecutor = /** @class */ (function () {
235
242
  debug({ DeleteMessageBatch: input });
236
243
  return [4 /*yield*/, (0, sqs_js_1.getSQSClient)().send(new client_sqs_1.DeleteMessageBatchCommand(input))];
237
244
  case 8:
238
- result = _h.sent();
245
+ result = _m.sent();
239
246
  this.stats.sqsCalls++;
247
+ if (result.Failed) {
248
+ console.error('FAILED_MESSAGES', result.Failed);
249
+ for (_k = 0, _l = result.Failed; _k < _l.length; _k++) {
250
+ failed = _l[_k];
251
+ console.error('FAILED_TO_DELETE_JOB', this.jobsByMessageId[failed.Id]);
252
+ }
253
+ }
240
254
  if (result.Successful) {
241
255
  count = result.Successful.length || 0;
242
256
  this.stats.jobsDeleted += count;
@@ -250,7 +264,7 @@ var JobExecutor = /** @class */ (function () {
250
264
  debug('DeleteMessageBatch returned', result);
251
265
  return [3 /*break*/, 7];
252
266
  case 9:
253
- _g++;
267
+ _j++;
254
268
  return [3 /*break*/, 6];
255
269
  case 10:
256
270
  // Get rid of deleted and failed jobs