mirror of
https://github.com/hibiken/asynq.git
synced 2026-04-25 23:15:51 +03:00
[GH-ISSUE #850] [FEATURE REQUEST] Support changing priority queues at runtime #2439
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#2439
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 @linhbkhn95 on GitHub (Mar 26, 2024).
Original GitHub issue: https://github.com/hibiken/asynq/issues/850
Originally assigned to: @hibiken on GitHub.
Is your feature request related to a problem? Please describe.
I use asynq at my company and rely on the frequency of the priority queue to determine task ordering. However, there are instances where this order needs to be adjusted.
->
However, I cannot change it immediately in runtime. I have to restart server(pods).
Moreover, my company utilizes a "Dynamic Config Loader" for updating applications at runtime. Therefore, if this feature were to be released, it would prove to be immensely useful
Describe the solution you'd like
Describe alternatives you've considered
Additional context
We can see a draft solution in my repo
https://github.com/linhbkhn95/asynq/pull/6/files
@hibiken @kamikazechaser How's about think?
@kamikazechaser commented on GitHub (Mar 26, 2024):
I can see such a feature being added if the underlying
p.queueConfigmap is replaced/updated in a safe way. However, this could set a precedent to update almost every underlying config at runtime 😄.@linhbkhn95 commented on GitHub (Mar 26, 2024):
@kamikazechaser It is a good approach for applying
dynamic config loaderin most company without restarting app.I also use for
feature flagsas a exprirement for new features.https://github.com/uber/piranha
@linhbkhn95 commented on GitHub (Mar 26, 2024):
Hi @kamikazechaser, do u use telegram? I was just out of work, I wanna contribute more open-source project like that
@kamikazechaser commented on GitHub (Mar 26, 2024):
Yes. On the same username.
@linhbkhn95 commented on GitHub (Mar 26, 2024):
I cant find it. my telegram username is
linhbkhn95. Can u message me?@kamikazechaser commented on GitHub (Mar 26, 2024):
Sent you a message from my alt, my main is kc^.
@linhbkhn95 commented on GitHub (Mar 27, 2024):
furthermore, For
dynamic config loader, if we use a logger, we can change the log level at runtime by theSetLevelmethod without restart pod(server)https://github.com/uber-go/zap/blob/master/level.go#L122
@kamikazechaser
@linhbkhn95 commented on GitHub (May 6, 2024):
Hi @hibiken @kamikazechaser
Can you guys tell me about what we should do next step?
@kamikazechaser commented on GitHub (May 7, 2024):
There are a lot of requests for such a feature, so why not. Something like
Server.SetQueuesPriority(map[string]int) errorwould work. There would need to be checks for whether the new map has the same keys as the old one and whether strictPriority is enabled in the current config e.t.c. and all these behind a mutex guard.Do you have something similar in mind?