Releases: mhenrixon/sidekiq-unique-jobs
Releases · mhenrixon/sidekiq-unique-jobs
Bug fixes
Delete locks by jid
Allow deleting locks by jid
Allow jobs to be pushed to processing
Always load forwardable
See #152 (comment) for more information
Ruby 2.0 compatibility
- Fix #152
- Minor improvement to internal esthetics
Removal of Unique Keys
Adds two ways of removing unique keys. Both of them use the same code. WARNING it will delete the keys matching that pattern.
Requirements
The reason this isn't added anywhere else yet is that it requires redis >= 2.8
if I am not mistaken. This gem might switch to that as a hard requirement in the near future.
Console
bundle exec jobs console
keys '*', count: 10_000
del_by '*', count: 100, dry_run: false
Command Line
bundle exec jobs keys '*' -n 1000
bundle exec jobs del '*' -n 1000, --no-dry-run
Fix adding jobs
v4.0.8 tag v4.0.8
First properly working v4 version
- Use unique arguments for the
WhileExecuting
lock (#127) - Removes enforced uniqueness for all jobs (#127)
- Forces look for
Sidekiq::Testing
in Sidekiq without ancestors #129 - Fix usage with active job
- Get rid of unneeded configuration options
unique_args_enabled
(just use whatever unique argument that is configured). - Remove
unique_lock
and useunique:
to set this like inunique: :until_timeout
- Warn when using
unique: true
and suggest to change it to what we need with a fallback. - Create constants for hash keys to avoid having to fix spelling or for renaming keys only having to be done in one place and avoid having to type .freeze everywhere.
- Move all explicit logic out from the server middle ware and make it just call execute on the instance of the lock class (prepare for allowing custom locking classes to be used).
- Create a new job for scheduling jobs after it started executing but only allow one job to run at the same time.
- Fix a problem with an unresolved reference
- Get rid of development dependency on active support (causing trouble with ruby)
- Improved uniqueness handling (complete refactoring, upgrade with causion)
- 100% breaking changes
Add new lock
- Remove
unique_lock
and useunique:
to set this like inunique: :until_timeout
- Warn when using
unique: true
and suggest to change it to what we need with a fallback. - Create constants for hash keys to avoid having to fix spelling or for renaming keys only having to be done in one place and avoid having to type .freeze everywhere.
- Move all explicit logic out from the server middle ware and make it just call execute on the instance of the lock class (prepare for allowing custom locking classes to be used).
- Create a new job for scheduling jobs after it started executing but only allow one job to run at the same time.
Removed unresolved reference
Code loading exposed a nasty bug in production environments for people where a removed error class was used. This release just removes that reference.