Skip to content

Different redelivery retry strategies #1586

@zhelezkov

Description

@zhelezkov

Is your feature request related to a problem? Please describe.
From what I found, currently, LavinMQ supports basic redelivery behavior, but retry logic is fairly limited and uniform. In real-world systems, different consumers and message types often require different retry strategies (e.g., immediate retries, exponential backoff, fixed delays, or custom retry schedules).

Without flexible retry strategies, it’s difficult to balance fast recovery from transient failures with protecting downstream systems from overload or retry storms. This often forces retry logic to be implemented at the application level, leading to duplicated, inconsistent, and harder-to-maintain code.

Describe the solution you'd like
I’d like LavinMQ to support configurable redelivery retry strategies at the broker level. Examples of such strategies could include:

  • Fixed delay retries (e.g., retry every N seconds)
  • Exponential backoff

BullMQ has a very clear and well-documented model for retrying failed jobs that demonstrates the flexibility and ergonomics this feature could have:
https://docs.bullmq.io/guide/retrying-failing-jobs

Describe alternatives you've considered
I've tried implementing retry logic entirely in consumers (timers, delayed requeueing, backoff logic). This increases complexity and duplicates logic across services.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions