@stemy/backend 3.1.1 → 3.1.2

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.
@@ -455,6 +455,22 @@
455
455
  function lastItem(value) {
456
456
  return value[value.length - 1];
457
457
  }
458
+ function regroup(value, comparator) {
459
+ var result = [];
460
+ if (!isArray(value) || value.length == 0)
461
+ return result;
462
+ value = Array.from(value);
463
+ result.push([value.shift()]);
464
+ value.forEach(function (item) {
465
+ var group = result.find(function (g) { return g.some(function (a) { return comparator(a, item); }); });
466
+ if (group) {
467
+ group.push(item);
468
+ return;
469
+ }
470
+ result.push([item]);
471
+ });
472
+ return result;
473
+ }
458
474
  function getValue(obj, key, defaultValue, treeFallback) {
459
475
  if (treeFallback === void 0) { treeFallback = false; }
460
476
  key = key || "";
@@ -1099,7 +1115,6 @@
1099
1115
  falseColor: exports.ConsoleColor.FgRed,
1100
1116
  nullColor: exports.ConsoleColor.BgMagenta
1101
1117
  };
1102
- var MAX_TIMEOUT = 120000;
1103
1118
  function colorize(input, color) {
1104
1119
  return "" + color + input + exports.ConsoleColor.Reset;
1105
1120
  }
@@ -2402,6 +2417,7 @@
2402
2417
  }
2403
2418
  };
2404
2419
  this.processing = false;
2420
+ this.maxTimeout = this.config.resolve("jobTimeout");
2405
2421
  }
2406
2422
  JobManager.prototype.on = function (message, cb) {
2407
2423
  return this.messages
@@ -2507,7 +2523,7 @@
2507
2523
  _a.label = 1;
2508
2524
  case 1:
2509
2525
  _a.trys.push([1, 3, , 4]);
2510
- return [4 /*yield*/, Promise.race([this.jobs[jobName](jobParams), promiseTimeout(MAX_TIMEOUT, true)])];
2526
+ return [4 /*yield*/, Promise.race([this.jobs[jobName](jobParams), promiseTimeout(this.maxTimeout, true)])];
2511
2527
  case 2:
2512
2528
  _a.sent();
2513
2529
  console.timeLog(timerId, "Finished working on background job: " + colorize(jobName, exports.ConsoleColor.FgCyan) + "\n\n");
@@ -3166,7 +3182,7 @@
3166
3182
  isFinished = progress.percent >= 100;
3167
3183
  }
3168
3184
  if (!!isFinished) return [3 /*break*/, 4];
3169
- if (waitTime >= MAX_TIMEOUT) {
3185
+ if (waitTime >= this.jobMan.maxTimeout) {
3170
3186
  throw new Error("Progress with id: " + id + " probably never will be finished!");
3171
3187
  }
3172
3188
  return [4 /*yield*/, promiseTimeout(delay)];
@@ -5912,7 +5928,7 @@
5912
5928
  new Parameter("mongoDb", "node-backend"),
5913
5929
  new Parameter("mongoUser", null),
5914
5930
  new Parameter("mongoPassword", null),
5915
- new Parameter("nodeEnv", "development"),
5931
+ new Parameter("nodeEnv", "production"),
5916
5932
  new Parameter("appPort", 80),
5917
5933
  new Parameter("zmqPort", 3000),
5918
5934
  new Parameter("zmqBackPort", 3100),
@@ -5924,6 +5940,7 @@
5924
5940
  new Parameter("idPrefix", "ID-"),
5925
5941
  new Parameter("idParts", [4, 4]),
5926
5942
  new Parameter("jsonLimit", "250mb"),
5943
+ new Parameter("jobTimeout", 5 * 60 * 1000),
5927
5944
  new Parameter("cacheCollection", "cache"),
5928
5945
  ];
5929
5946
  // Convert parameters to providers
@@ -6225,6 +6242,7 @@
6225
6242
  exports.random = random;
6226
6243
  exports.readAndDeleteFile = readAndDeleteFile;
6227
6244
  exports.readFile = readFile;
6245
+ exports.regroup = regroup;
6228
6246
  exports.runCommand = runCommand;
6229
6247
  exports.setupBackend = setupBackend;
6230
6248
  exports.streamToBuffer = streamToBuffer;