mirror of
https://github.com/hibiken/asynq.git
synced 2026-04-25 23:15:51 +03:00
[GH-ISSUE #1089] [BUG] The heartbeat does not actually check whether a worker is truly alive when renewing its lease. #2546
Labels
No labels
CLI
bug
designing
documentation
duplicate
enhancement
good first issue
good first issue
help wanted
idea
invalid
investigate
needs-more-info
performance
pr-welcome
pull-request
question
wontfix
work in progress
work in progress
work-around-available
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/asynq#2546
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @lgYanami on GitHub (Jan 4, 2026).
Original GitHub issue: https://github.com/hibiken/asynq/issues/1089
Originally assigned to: @hibiken, @kamikazechaser on GitHub.
Describe the bug
There appears to be a bug in the system.
The heartbeat does not actually check whether a worker is truly alive when renewing its lease. If a worker crashes and fails to notify the heartbeat via a "finished" channel, the heartbeat will continue to renew the lease for this crashed worker. The lease will only expire when the worker's deadline is reached, triggering retry logic. However, until that point, the lease remains active and is only replaced when a new lease takes over. Before the deadline is reached, this zombie worker will continue to occupy a concurrency slot.