-
Notifications
You must be signed in to change notification settings - Fork 120
Description
Problem
My use-case is both cpu and memory intensive calculations with expensive initialization, where some of them are too big and throws heap out of memory, or too expensive and hits a timeout, which are pointless to repeat and therefore I use maxRetries:0. I want to be able to re-initialize only crashed workers, and make sure that those crashes doesn't skip or abort other calls.
This hint in README was misleading - it suggested that maxConcurrentCallsPerWorker:1 would save my day, but it didn't. Instead, per each crash 1 another call was skipped/aborted, or all of other calls when used with 1 worker.
[..] Preferably run this with a maxConcurrentCallsPerWorker so you don't interrupt other calls when you have a timeout [..]
Workaround
Use maxCallsPerWorker:1 and maxConcurrentCallsPerWorker : 1. It re-initializes every worker every time, but at least doesn't skip/abort other calls.
Expected solution
I wish maxConcurrentCallsPerWorker:1 would work with my problem as I imagined.
Comments
See linked PR for working tests that use the described workaround.