* Executes the worker choice strategy in the context algorithm.
*
* @returns The key of the worker node.
- * @throws {@link https://nodejs.org/api/errors.html#class-error} If the worker node key is null or undefined.
+ * @throws {@link https://nodejs.org/api/errors.html#class-error} If after configured retries the worker node key is null or undefined .
*/
public execute (): number {
const workerNodeKey = (
this.choiceRetriesCount++
return this.execute()
} else if (workerNodeKey == null) {
- throw new TypeError('Worker node key chosen is null or undefined')
+ throw new Error(
+ `Worker node key chosen is null or undefined after ${this.choiceRetriesCount} retries`
+ )
}
+ this.choiceRetriesCount = 0
return workerNodeKey
}