Skip to content

BUG: config maxConcurrentCallsPerWorker:1 drops another call if worker crashes #104

@Akuukis

Description

@Akuukis

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions