You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
Without a heartbeat / keep-alive mechanism, a given message may be picked up multiple times by handlers (if it is long-running with variable time) and executed concurrently.
Describe the solution you'd like
A new SqsListener.UseHeartbeat property that - when set to true - keeps a given sqs message alive by extending its (in)visibility in the background.
Describe alternatives you've considered
An alternative is to inject an Visibility instance and do this manually in each handler.
Additional context
Implementing a heartbeat is recommended by AWS.
Implement a heartbeat mechanism to periodically extend the visibility timeout, ensuring the message remains invisible until processing is complete.
As an aside, we've implemented this pattern in C# using a background thread (via Task.Run()) that stops a heartbeat and manages failures via CancellationTokens. This has proven effective.
Activity
[-]SQS: Heartbeat for long-running processes[/-][+]SQS: Heartbeat for long-running handlers[/+]tomazfernandes commentedon Jan 16, 2026
Hey @chase-miller, thanks for bringing this up. Your proposal sounds interesting.
PRs are welcome, let me know if you'd like to further discuss the design before starting implementation, or perhaps open a draft PR.
Thanks.
feat-sqs-heartbeat Fixes awspring#1554: Update docs for new optional …
kylez-ithaka commentedon May 12, 2026
Put up a PR #1622