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.
- package/commonjs/src/scheduler/jobExecutor.js +36 -22
- package/npm-shrinkwrap.json +15999 -0
- package/package.json +1 -1
- package/src/scheduler/jobExecutor.js +15 -3
|
@@ -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,
|
|
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 (
|
|
102
|
-
switch (
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
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 =
|
|
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
|
-
|
|
208
|
-
|
|
209
|
-
for (
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
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 (!(
|
|
215
|
-
|
|
216
|
-
if (!(
|
|
217
|
-
qrl =
|
|
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
|
-
|
|
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:
|
|
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 =
|
|
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
|
-
|
|
267
|
+
_j++;
|
|
254
268
|
return [3 /*break*/, 6];
|
|
255
269
|
case 10:
|
|
256
270
|
// Get rid of deleted and failed jobs
|