ixti / sidekiq-throttled

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

Broken with latest Sidekiq 6.5.0 #120

Closed tvdeyen closed 1 year ago

tvdeyen commented 2 years ago

Latest release of Sidekiq 6.5.0 is incompatible with this gem.

/builds/blish/gems/blish-gem/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.12.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:27:in `require': cannot load such file -- sidekiq/exception_handler (LoadError)
[337](https://gitlab.com/blish/gems/blish-gem/-/jobs/2560542042#L337)   from /builds/blish/gems/blish-gem/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.8/lib/active_support/dependencies.rb:291:in `block in require'
[338](https://gitlab.com/blish/gems/blish-gem/-/jobs/2560542042#L338)   from /builds/blish/gems/blish-gem/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.8/lib/active_support/dependencies.rb:257:in `load_dependency'
[339](https://gitlab.com/blish/gems/blish-gem/-/jobs/2560542042#L339)   from /builds/blish/gems/blish-gem/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.8/lib/active_support/dependencies.rb:291:in `require'
[340](https://gitlab.com/blish/gems/blish-gem/-/jobs/2560542042#L340)   from /builds/blish/gems/blish-gem/vendor/bundle/ruby/2.7.0/gems/sidekiq-throttled-0.15.0/lib/sidekiq/throttled/communicator.rb:5:in `<main>'
[341](https://gitlab.com/blish/gems/blish-gem/-/jobs/2560542042#L341)   from /builds/blish/gems/blish-gem/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.12.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
[342](https://gitlab.com/blish/gems/blish-gem/-/jobs/2560542042#L342)   from /builds/blish/gems/blish-gem/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.12.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
[343](https://gitlab.com/blish/gems/blish-gem/-/jobs/2560542042#L343)   from /builds/blish/gems/blish-gem/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.8/lib/active_support/dependencies.rb:291:in `block in require'
[344](https://gitlab.com/blish/gems/blish-gem/-/jobs/2560542042#L344)   from /builds/blish/gems/blish-gem/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.8/lib/active_support/dependencies.rb:257:in `load_dependency'
[345](https://gitlab.com/blish/gems/blish-gem/-/jobs/2560542042#L345)   from /builds/blish/gems/blish-gem/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.8/lib/active_support/dependencies.rb:291:in `require'
[346](https://gitlab.com/blish/gems/blish-gem/-/jobs/2560542042#L346)   from /builds/blish/gems/blish-gem/vendor/bundle/ruby/2.7.0/gems/sidekiq-throttled-0.15.0/lib/sidekiq/throttled.rb:8:in `<main>'
[347](https://gitlab.com/blish/gems/blish-gem/-/jobs/2560542042#L347)   from /builds/blish/gems/blish-gem/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.12.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
[348](https://gitlab.com/blish/gems/blish-gem/-/jobs/2560542042#L348)   from /builds/blish/gems/blish-gem/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.12.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
[349](https://gitlab.com/blish/gems/blish-gem/-/jobs/2560542042#L349)   from /builds/blish/gems/blish-gem/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.8/lib/active_support/dependencies.rb:291:in `block in require'
[350](https://gitlab.com/blish/gems/blish-gem/-/jobs/2560542042#L350)   from /builds/blish/gems/blish-gem/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.8/lib/active_support/dependencies.rb:257:in `load_dependency'
[351](https://gitlab.com/blish/gems/blish-gem/-/jobs/2560542042#L351)   from /builds/blish/gems/blish-gem/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.8/lib/active_support/dependencies.rb:291:in `require'
[352](https://gitlab.com/blish/gems/blish-gem/-/jobs/2560542042#L352)   from /builds/blish/gems/blish-gem/lib/blish.rb:260:in `<main>'

Staying below 6.5.0 for now.

9mm commented 2 years ago

Watching

dominikduda commented 2 years ago

Just reproduced.

ixti commented 2 years ago

@dominikduda Have you tried v0.16.0?

tvdeyen commented 2 years ago

@ixti where do we find the commits of this release?

  1. https://github.com/sensortower/sidekiq-throttled/commits/master

  2. https://github.com/sensortower/sidekiq-throttled/tags

are both old.

ixti commented 2 years ago

https://github.com/ixti/sidekiq-throttled

marcel-strzalka commented 1 year ago

Is this issue still relevant for sidekiq-throttled at 0.17.0?

I'm also getting similar errors when trying to run sidekiq-throttled at 0.17.0 with sidekiq at 7.0.2.

ixti commented 1 year ago

Sidekiq 6.5 & 7.0 support is available in main branch, but it lack of queue pauser for now (removed it to refactor from scratch)

ixti commented 1 year ago

I've brought back support for pausing queues in main branch, but it's still in alpha. I can backport Sidekiq 7 support from the main branch to v0.X.X

ixti commented 1 year ago

Just re-read the issue. I believe I have massively misinterpreted it at first. The problem comes from the communicator code that I've decided to drop off with no replacement. I will try to fix v0.x.x branch to support sidekiq 6.5 and 7.0 over the weekend.

ixti commented 1 year ago

Will be fixed in 1.0.0 release

ixti commented 1 year ago

I just released v1.0.0.alpha that should work with sidekiq >= 6.5. The release is marked as alpha, as I want to add non-breaking changes to global configuration and bring a better sidekiq-pauzer integration. Right now, the integration is not obvious, and simply requires adding gem "sidekiq-pauzer", "~> 2.2" (for sidekiq 6.5.0) or gem "sidekiq-pauzer", "~> 3.1" (for sidekiq 7.0+).