mirror of
https://github.com/hibiken/asynq.git
synced 2026-04-25 23:15:51 +03:00
[GH-ISSUE #1090] [Feature Request] Support for Group-based Sequential Processing (Serialization by Key) #2550
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#2550
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 @nhd98z on GitHub (Feb 5, 2026).
Original GitHub issue: https://github.com/hibiken/asynq/issues/1090
Originally assigned to: @hibiken, @kamikazechaser on GitHub.
Is your feature request related to a problem? Please describe.
I'm facing a race condition issue when processing tasks that share a specific resource constraint (e.g., tasks affecting the same
wallet_addressandchain_id).Currently,
asynqallows controlling global concurrency, but it doesn't seem to support "Partitioned Concurrency"—where tasks are executed sequentially per entity (same key) but concurrently across different entities.For example:
Currently, if multiple workers pick up Task A1 and Task A2 simultaneously, we encounter state conflicts.
Describe the solution you'd like
I would like to propose adding a
GrouporSerializationKeyoption when enqueuing a task.The scheduler/processor should ensure that for any given
Key, only one task is being processed at a time across all workers.