ixti / sidekiq-throttled

Concurrency and rate-limit throttling for Sidekiq
MIT License
698 stars 75 forks source link

[Main Branch] Alternative for Enhanced Queues Tab? #144

Closed OskarEichler closed 9 months ago

OskarEichler commented 1 year ago

@ixti We saw that the new main branch got rid of the Enhanced Queues Tab. We really liked the simplicity of the enhanced UI to easily be able to pause and resume queues. Is there an alternative to get back this functionality?

OskarEichler commented 1 year ago

Or alternative question: What was the reason to remove it / is there any possibility to bring it back?

It's definitely a super handy feature that we use regularly, and we will need to find an alternative before upgrading.

ixti commented 1 year ago

The reason was a combination of my misjudgement of how useful this feature was and desire to simplify the code. I will bring back ability to pause queues (and UI) this week.

OskarEichler commented 1 year ago

Amazing thanks so much @ixti

Highly appreciate it!! 🙌🏼

ixti commented 1 year ago

I've started work on bringing it back (as a separate gem that will be integrated into this one) but haven't finished it yet. Hope to finish it this week.

The idea is that it will become completely optional, and possible to have queues pauser without throttling (when needed)

OskarEichler commented 1 year ago

Very exciting!! Thank you @ixti 🙏🏼

ixti commented 1 year ago

Still have some work to do to close this, but with #145 merged in, you can use (still in alpha, until I will write specs for all the parts) sidekiq-pauzer gem:

OskarEichler commented 1 year ago

@ixti Amazing thank you! Just tested it locally and all running well! Gonna get it deployed on production this week and report back! 🤘🏼

ixti commented 1 year ago

I've released sidekiq-pauzer-1.0.0. Will work on better integration with sidekiq-throttled over the next couple of weeks. Planning on requiring explicit enabling API, something like:

Sidekiq::Throttled.configure do |c|
  c.use :pauzer
end

As of now, the integration is implicit, just add gem "sidekiq-pauzer", "~> 1.0.0" in your Gemfile. To have pause/resume buttons in the control panel UI:

require "sidekiq/web"
require "sidekiq/pauzer/web"
ixti commented 9 months ago

I've releazed sidekiq-throttled v1.0.0.

As it was said earlier, it will not have the queue pausing feature. In order to bring it back you should add sidekiq-pauzer to your gems:

gem "sidekiq-throttled", "~> 1.0.0"
gem "sidekiq-pauzer", "~> 4.0.0"

Then configure both:

# Main API
require "sidekiq"
require "sidekiq/throttled"
require "sidekiq/pauzer"

# Web UI
require "sidekiq/web"
require "sidekiq/throttled/web"
require "sidekiq/pauzer/web"