@openfn/ws-worker 1.17.0 → 1.18.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # ws-worker
2
2
 
3
+ ## 1.18.1
4
+
5
+ ### Patch Changes
6
+
7
+ - b61bf9b: Fix an issue where memory may not be released after runs
8
+ - Updated dependencies [b61bf9b]
9
+ - @openfn/engine-multi@1.7.1
10
+
11
+ ## 1.18.0
12
+
13
+ ### Minor Changes
14
+
15
+ - cf8d3c2: Add retry with backoff to worker validation
16
+
17
+ ### Patch Changes
18
+
19
+ - Updated dependencies [cf8d3c2]
20
+ - @openfn/engine-multi@1.7.0
21
+
3
22
  ## 1.17.0
4
23
 
5
24
  ### Minor Changes
package/dist/index.js CHANGED
@@ -889,8 +889,11 @@ function execute(channel, engine, logger, plan, input, options = {}, onFinish =
889
889
  }
890
890
  const lightningEvent = eventMap[eventName] ?? eventName;
891
891
  try {
892
+ let start = Date.now();
892
893
  await handler(context, event);
893
- logger.info(`${plan.id} :: ${lightningEvent} :: OK`);
894
+ logger.info(
895
+ `${plan.id} :: sent ${lightningEvent} :: OK :: ${Date.now() - start}ms`
896
+ );
894
897
  } catch (e) {
895
898
  if (!e.reportedToSentry) {
896
899
  Sentry3.captureException(e);
package/dist/start.js CHANGED
@@ -1038,8 +1038,11 @@ function execute(channel, engine, logger2, plan, input, options = {}, onFinish =
1038
1038
  }
1039
1039
  const lightningEvent = eventMap[eventName] ?? eventName;
1040
1040
  try {
1041
+ let start = Date.now();
1041
1042
  await handler(context, event);
1042
- logger2.info(`${plan.id} :: ${lightningEvent} :: OK`);
1043
+ logger2.info(
1044
+ `${plan.id} :: sent ${lightningEvent} :: OK :: ${Date.now() - start}ms`
1045
+ );
1043
1046
  } catch (e) {
1044
1047
  if (!e.reportedToSentry) {
1045
1048
  Sentry3.captureException(e);
@@ -6441,7 +6444,9 @@ function parseArgs(argv) {
6441
6444
  WORKER_SENTRY_DSN,
6442
6445
  WORKER_SENTRY_ENV,
6443
6446
  WORKER_SOCKET_TIMEOUT_SECONDS,
6444
- WORKER_STATE_PROPS_TO_REMOVE
6447
+ WORKER_STATE_PROPS_TO_REMOVE,
6448
+ WORKER_VALIDATION_RETRIES,
6449
+ WORKER_VALIDATION_TIMEOUT_MS
6445
6450
  } = process.env;
6446
6451
  const parser2 = yargs_default(hideBin(argv)).command("server", "Start a ws-worker server").option("debug", {
6447
6452
  hidden: true,
@@ -6510,6 +6515,12 @@ function parseArgs(argv) {
6510
6515
  }).option("collections-version", {
6511
6516
  description: "The version of the collections adaptor to use for all runs on this worker instance.Env: WORKER_COLLECTIONS_VERSION",
6512
6517
  type: "string"
6518
+ }).option("engine-validation-timeout-ms", {
6519
+ description: "The timeout used to run the validation task within the engine, in milliseconds. Env: WORKER_VALIDATION_TIMEOUT_MS",
6520
+ type: "number"
6521
+ }).option("engine-validation-retries", {
6522
+ description: "The number of times to retry engine validation. Useful in hosted environments. Default 3. ENV: WORKER_VALIDATION_RETRIES",
6523
+ type: "number"
6513
6524
  });
6514
6525
  const args2 = parser2.parse();
6515
6526
  return {
@@ -6562,7 +6573,17 @@ function parseArgs(argv) {
6562
6573
  args2.collectionsVersion,
6563
6574
  WORKER_COLLECTIONS_VERSION
6564
6575
  ),
6565
- collectionsUrl: setArg(args2.collectionsUrl, WORKER_COLLECTIONS_URL)
6576
+ collectionsUrl: setArg(args2.collectionsUrl, WORKER_COLLECTIONS_URL),
6577
+ engineValidationRetries: setArg(
6578
+ args2.engineValidationRetries,
6579
+ WORKER_VALIDATION_RETRIES,
6580
+ 3
6581
+ ),
6582
+ engineValidationTimeoutMs: setArg(
6583
+ args2.engineValidationTimeoutMs,
6584
+ WORKER_VALIDATION_TIMEOUT_MS,
6585
+ 5e3
6586
+ )
6566
6587
  };
6567
6588
  }
6568
6589
 
@@ -6639,7 +6660,9 @@ if (args.mock) {
6639
6660
  memoryLimitMb: args.runMemory,
6640
6661
  maxWorkers: args.capacity,
6641
6662
  statePropsToRemove: args.statePropsToRemove,
6642
- runTimeoutMs: args.maxRunDurationSeconds * 1e3
6663
+ runTimeoutMs: args.maxRunDurationSeconds * 1e3,
6664
+ workerValidationTimeout: args.engineValidationTimeoutMs,
6665
+ workerValidationRetries: args.engineValidationRetries
6643
6666
  };
6644
6667
  logger.debug("Creating runtime engine...");
6645
6668
  logger.debug("Engine options:", engineOptions);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openfn/ws-worker",
3
- "version": "1.17.0",
3
+ "version": "1.18.1",
4
4
  "description": "A Websocket Worker to connect Lightning to a Runtime Engine",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -23,10 +23,10 @@
23
23
  "koa-logger": "^3.2.1",
24
24
  "phoenix": "1.7.10",
25
25
  "ws": "^8.18.3",
26
- "@openfn/lexicon": "^1.2.5",
27
26
  "@openfn/logger": "1.0.6",
28
27
  "@openfn/runtime": "1.7.3",
29
- "@openfn/engine-multi": "1.6.14"
28
+ "@openfn/lexicon": "^1.2.5",
29
+ "@openfn/engine-multi": "1.7.1"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@types/koa": "^2.15.0",
@@ -43,7 +43,7 @@
43
43
  "tsup": "^6.7.0",
44
44
  "typescript": "^4.9.5",
45
45
  "yargs": "^17.7.2",
46
- "@openfn/lightning-mock": "2.3.0"
46
+ "@openfn/lightning-mock": "2.3.2"
47
47
  },
48
48
  "files": [
49
49
  "dist",