@live-change/task-service 0.9.153 → 0.9.154

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.
Files changed (2) hide show
  1. package/package.json +4 -4
  2. package/task.ts +8 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@live-change/task-service",
3
- "version": "0.9.153",
3
+ "version": "0.9.154",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -22,8 +22,8 @@
22
22
  },
23
23
  "type": "module",
24
24
  "dependencies": {
25
- "@live-change/framework": "^0.9.153",
26
- "@live-change/relations-plugin": "^0.9.153"
25
+ "@live-change/framework": "^0.9.154",
26
+ "@live-change/relations-plugin": "^0.9.154"
27
27
  },
28
- "gitHead": "31c515ccfe3920dd19251f1452e416b4cd29d1fe"
28
+ "gitHead": "6d0dd934466e0ba5d792a5c98b0df27559ff4da0"
29
29
  }
package/task.ts CHANGED
@@ -129,6 +129,11 @@ interface TaskDefinition {
129
129
  */
130
130
  maxRetries?: number,
131
131
 
132
+ /**
133
+ * Retry delay in milliseconds as function of retry count
134
+ */
135
+ retryDelay?: (retryCount: number) => number, // default is 1000 * Math.pow(2, retryCount)
136
+
132
137
  /**
133
138
  * Task properties/parameters schema
134
139
  */
@@ -479,8 +484,9 @@ export default function task(definition:TaskDefinition, serviceDefinition) {
479
484
  stack: error.stack
480
485
  }]
481
486
  })
482
- console.log("RETRYING TASK", taskObject.id, "IN", 1000 * Math.pow(2, retriesCount), "ms")
483
- await new Promise(resolve => setTimeout(resolve, 1000 * Math.pow(2, retriesCount)))
487
+ const retryDelay = definition.retryDelay ? definition.retryDelay(retriesCount) : 1000 * Math.pow(2, retriesCount)
488
+ console.log("RETRYING TASK", taskObject.id, "IN", retryDelay, "ms")
489
+ await new Promise(resolve => setTimeout(resolve, retryDelay))
484
490
  }
485
491
  await triggerOnTaskStateChange(taskObject, context.causeType, context.cause)
486
492
  } finally {