- Complete rewrite of the library (#25)
- Read only Web UI (#26)
- Drop support for sidekiq 6.x and ruby 2.7 (#28)
- Respect sidekiq_options overridden by .set (#27)
Upgrade notes: Since the job format changed, V3 won't debounce jobs enqueued with V2, although they'll still get executed
- support Sidekiq::Testing
- don't remove debounce key in redis to avoid invalid debouncing
Complete rewrite of the library:
- Instead of iterating through whole schedule set, sidekiq-debouncer will now cache debounce key in redis with a reference to the job. Thanks to that there is a huge performance boost compared to V1. With 1k jobs in schedule set it's over 100x faster. The difference is even bigger with larger amount of jobs.
- Debouncing is now handled by Lua script instead of pure ruby so it's process safe.
Breaking changes:
- Including
Sidekiq::Debouncer
in the workers and usingdebounce
method is now deprecated. Useperform_async
instead. - Setup requires middlewares to be added in sidekiq configuration.
by
attribute is now required- dropped support for Ruby < 2.7 and Sidekiq < 6.5