Merged pull requests:
- tweak changelog for 8.0.9 #836 (Earlopain)
- Add digest scores for faster deletes in sorted sets #835 (ezekg)
v8.0.10 (2024-02-22)
Closed issues:
- until_and_while_executing and lock_ttl: jobs silently dropped #788
- Slow evalsha causing timeouts #668
v7.1.33 (2024-02-12)
v8.0.9 (2024-02-12)
Fixed bugs:
v8.0.8 (2024-02-12)
Implemented enhancements:
Fixed bugs:
- until_and_while_executing not entering perform method on initial run #824
- fix(digest): write digest on middleware call #774 (mhenrixon)
Closed issues:
v8.0.7 (2024-02-05)
Implemented enhancements:
Fixed bugs:
Closed issues:
- No 'Changelog' link is being displayed on https://rubygems.org/gems/sidekiq-unique-jobs #825
- Using rspec matcher and getting:
NameError: uninitialized constant SidekiqUniqueJobs::Lock::BaseLock::Validator
#741
Merged pull requests:
v8.0.6 (2024-01-24)
Implemented enhancements:
Closed issues:
- should respond to
has_valid_sidekiq_options?
#822 while_executing
withon_conflict: :reschedule
Reschedule job after job execution #800- Large retry queue causes reaper to run too slow #759
Merged pull requests:
v7.1.32 (2023-11-11)
Closed issues:
- Reaper manager registration is subject to race conditions #801
v8.0.5 (2023-11-11)
Merged pull requests:
- Bump @babel/traverse from 7.22.8 to 7.23.3 in /myapp #819 (dependabot[bot])
- Bump postcss from 8.4.21 to 8.4.31 in /myapp #811 (dependabot[bot])
- fix:
while_executing
should not invoke conflict strategy when the job was successfully executed [v8] #810 (cuzik) - Bump actions/checkout from 3 to 4 #808 (dependabot[bot])
- Bump semver from 6.3.0 to 6.3.1 in /myapp #798 (dependabot[bot])
- Because
replace
is a client strategy, it should only remove client locks aka queue locks. #778 (bigzed)
v8.0.4 (2023-11-11)
Implemented enhancements:
- fix: ignore reek for now #818 (mhenrixon)
- fix(ci): allow tests to run in docker #805 (Earlopain)
- chore(deps): bump'n lint'n such #797 (mhenrixon)
Fixed bugs:
- Sidekiq 7: Unsupported command argument type: TrueClass #816
- fix(web): don't show bogus lock digests #804 (Earlopain)
Closed issues:
- register_reaper_process nx: true crash Sidekiq on startup #817
Merged pull requests:
- fix: Sidekiq 7.2 throws TypeError: Unsupported command argument type: TrueClass when using byscore: true #815 (Amnesthesia)
- Add sidekiq_option for on-conflict-reschedule perform_in time #813 (mgmarlow)
- Handle strategy fallbacks properly #809 (matejrisek)
- Fix CI status badge #802 (tagliala)
v7.1.31 (2023-08-28)
Closed issues:
- Should client middleware also be added to the Sidekiq server config? #803
- 8.0.1 Time on locks & changelog UI is incorrect/wrong #761
- Job executed twice when reaper runs #738
v7.1.30 (2023-07-17)
Closed issues:
- Release new gem version with "fix replace deprecated rpoplpush w/lmove" #795
- Redis has deprecated the
rpoplpush
command #793 - Deprecation Warning: Use of rpoplpush command in Redis #792
- Logging::Middleware.context can include empty string as key when lock is not set in job hash #785
v8.0.3 (2023-05-27)
Implemented enhancements:
Fixed bugs:
- Add unlocked reflect to locksmith unlock! #783 (ttstarck)
- fix(locksmith): replace deprecated rpoplpush w/lmove #781 (GabrielaGuedes)
- fix(unlock): ensure callback and unlock #771 (mhenrixon)
Closed issues:
unlocked
reflection is never called #782- Migrate away from deprecated Redis commands #780
while_executing
withon_conflict: :reschedule
reschedules job when unlock fails #770- Redis server v6.0 compatibility #769
- Locks not removed after worker finishes #758
Merged pull requests:
- Add lock to item when lock_type is pulled from Job class sidekiq options #786 (ttstarck)
- Fix rubocop failure by expecting array to be empty #784 (GabrielaGuedes)
- fix(doc): improve information on unlock_failed #776 (mhenrixon)
v8.0.2 (2023-03-13)
Closed issues:
Merged pull requests:
- update debug_lua check to match passed in arg type #765 (JeremiahChurch)
- fix rubocop #764 (JeremiahChurch)
- Hide lock info debug suggestion on lock page if it's already enabled. #763 (JeremiahChurch)
- fix lock & changelog times on web interface #762 (JeremiahChurch)
v8.0.1 (2023-02-14)
Closed issues:
- TypeError: Unsupported command argument type: ActiveSupport::Duration #754
- Incompatibility with Sidekiq 7 #736
Merged pull requests:
- Fix active worker detection by using correct keys #756 (dodo121)
- Fix minor typo in drift_reaper_interval comment #755 (lazyatom)
v8.0.0 (2023-01-30)
Implemented enhancements:
Closed issues:
Merged pull requests:
- fix: backport the fix for the return value of #deep_transform_keys #750 (fixtheclouds)
v7.1.29 (2022-12-03)
Fixed bugs:
Merged pull requests:
- fix(after_unlock): regression from #707 #737 (adamcreekroad)
v7.1.28 (2022-11-28)
Fixed bugs:
- Unique Jobs Not Running with Version 7.1.26 #730
Closed issues:
- Error "undefined method `redis_info' for Sidekiq:Module" on upgrade #740
- spammed by
Nothing to delete; exiting
during spec #733
Merged pull requests:
- sentence correction #744 (SupriyaMedankar)
v7.1.27 (2022-07-30)
Implemented enhancements:
Fixed bugs:
Closed issues:
- Disable logging in Rails testing #727
- Memory bloat / dangling keys / reaper not cleaning orphans #637
v7.1.26 (2022-07-28)
Implemented enhancements:
Fixed bugs:
- Fix(until_and_while_executing): Improve timeouts slightly #728 (mhenrixon)
- Fix(unlock): Delete primed keys on last entry #726 (mhenrixon)
Merged pull requests:
- Ensure batch delete removes expiring locks #724 (francesmcmullin)
- Chore: Update dependencies #722 (mhenrixon)
- Move until_expired digests to separate zset #721 (francesmcmullin)
- Avoid skipping ranges when looping through queues #720 (francesmcmullin)
- Bump actions/checkout from 2 to 3 #718 (dependabot[bot])
- Add Dependabot for GitHub Actions #717 (petergoldstein)
- Fix Sidekiq::Worker.clear_all override not being applied #714 (dsander)
v7.1.25 (2022-06-13)
Fixed bugs:
v7.1.24 (2022-06-09)
Implemented enhancements:
Merged pull requests:
v7.1.23 (2022-05-23)
Fixed bugs:
v7.1.22 (2022-05-04)
Fixed bugs:
- Failed jobs waiting to be retried are not considered when fetching uniqueness #394
- fix(locksmith): execute to yield without arguments #710 (mhenrixon)
- fix: re:lock until_executing on worker failure #709 (mhenrixon)
Closed issues:
- Reviwing: Failed jobs waiting to be retried are not considered when fetching uniqueness #708
v7.1.21 (2022-04-23)
Implemented enhancements:
Closed issues:
- DEPRECATION WARNING: default_worker_options is deprecated and will be removed from Sidekiq 7.0 (use default_job_options instead) (called from notify_agents at /Users/hackeron/Development/Tether/timeline/app/models/user.rb:303) #705
v7.1.20 (2022-04-22)
Implemented enhancements:
Merged pull requests:
v7.1.19 (2022-04-09)
Fixed bugs:
- concurrent-ruby 1.1.10 spikes volume of jobs #701
- Reimplement the entire TimerTask as it was #702 (mhenrixon)
v7.1.18 (2022-04-05)
Implemented enhancements:
v7.1.17 (2022-04-05)
v7.1.16 (2022-04-02)
Implemented enhancements:
- Abort Ruby Reaper when sidekiq queues are full #690 (francesmcmullin)
- Quote '3.0' to ensure CI uses Ruby 3.0.x for the 3.0 entry #689 (petergoldstein)
Fixed bugs:
- Hotfix: Ensure consistent lock args #699 (mhenrixon)
- Expire older changelog entries first #698 (mhenrixon)
- Fix drift #688 (mhenrixon)
Closed issues:
- concurrent-ruby has dropped support for TimerTask timeouts #697
- Most recent changelogs are removed first #696
- Improve README slightly #694
- locksmith.rb:327: NoMethodError: undefined method `+' for nil:NilClass #686
- lock_timeout cannot be nil #675
- Skip reaping when queues are too large #670
Merged pull requests:
- Improve readme #695 (fwolfst)
- Add funding_uri to gemspec #693 (fwolfst)
- Fix worker validator #685 (victorfgs)
v7.1.15 (2022-02-10)
Merged pull requests:
v7.1.14 (2022-02-04)
Implemented enhancements:
v7.1.13 (2022-02-03)
Implemented enhancements:
Fixed bugs:
Closed issues:
- Job finished, but lock is not cleared #677
- sidekiq_options lock conflicts with sidekiq-lock gem lock option #669
- Inconsistent documentation for config validation #647
Merged pull requests:
- Bump bundler and friends #674 (mhenrixon)
- readme: fix minitest assertion. #672 (crondaemon)
- Pass
item
inafter_unlock
callback #665 (piloos)
v7.1.12 (2021-12-01)
Implemented enhancements:
- Improve Ruby Reaper performance under heavy load #663
- Improve reaper performance under heavy load #666 (mhenrixon)
v7.1.11 (2021-11-30)
Fixed bugs:
Closed issues:
- Question: Wait instead of cancelling if it is executing? #655
- Expired Locks remain in zset of digests [using "until_expired" lock] #653
- [Q&A] Performance & Dead Locks #652
- Sidekiq 6.3.0 includes Job module that clashes with sidekiq_unique_ext.rb class Job #651
v7.1.10 (2021-10-18)
Fixed bugs:
- "IndexError: string not matched" when job is replaced on client #635
Merged pull requests:
v7.1.8 (2021-10-08)
Fixed bugs:
- undefined method
delete' for class
Sidekiq::Job' #634 - INFO keys not persisted when job is enqueued #602
- lock_info set to true but no lock info showing up in web ui #589
- Prevent too eager cleanup of lock info #645 (mhenrixon)
Closed issues:
- Compatibility with unreleased Sidekiq 6.3.0 #636
Merged pull requests:
v7.0.13 (2021-09-27)
v7.1.7 (2021-09-27)
Implemented enhancements:
Fixed bugs:
v7.1.6 (2021-09-21)
Closed issues:
- until_and_while_executing is not running the job at all in sidekiq-unique-jobs 7.1.4 #626
Merged pull requests:
v7.1.5 (2021-07-28)
Fixed bugs:
v7.1.4 (2021-07-21)
Fixed bugs:
v7.1.3 (2021-07-20)
Fixed bugs:
- Locks are not released: seeing 'Might need to be unlocked manually" warnings #594
- Disable resurrector by default #623 (mhenrixon)
- Documentation fixes #622 (ursm)
Closed issues:
- Lock until_and_while_executing not working as expected #613
Merged pull requests:
v7.1.2 (2021-07-01)
Fixed bugs:
v7.1.1 (2021-06-30)
Fixed bugs:
Closed issues:
- Max expiration for locks #593
v7.1.0 (2021-06-29)
Implemented enhancements:
- Reflections #611 (mhenrixon)
- Start new orphan reaper process if orphan reaper is not running #604 (AlexFlint73)
Fixed bugs:
- Fix numerous small issues with locking #616 (mhenrixon)
- Allow locksmith delete to work with strings #615 (pinkahd)
v7.0.12 (2021-06-04)
Implemented enhancements:
Merged pull requests:
- Set correct namespace for custom strategy example #609 (Wolfer)
- Clarify the documentation related to lock_ttl #607 (donaldpiret)
v7.0.11 (2021-05-16)
Fixed bugs:
Closed issues:
- Sidekiq Pro Sharded Web UI Error > 7.0.8 #605
- Timed out after 0s while waiting for primed token #601
v7.0.10 (2021-05-10)
Fixed bugs:
Closed issues:
- Nested Sidekiq jobs are not kicked off with until_and_while_executing #600
v7.0.9 (2021-04-26)
Fixed bugs:
v7.0.8 (2021-04-14)
Implemented enhancements:
Closed issues:
- Question: where do orphaned locks come from? #592
- upgrade_v6_lock : ERR wrong number of arguments for 'hmset' command #591
Merged pull requests:
- Fix uniqueness examples url in documentation #596 (sampatbadhe)
v7.0.7 (2021-03-19)
Fixed bugs:
v7.0.6 (2021-03-19)
Fixed bugs:
- Deprecation warning for redis behaviour change in 5.0 #579
- Consider a match only when both values present #586 (mhenrixon)
Closed issues:
- Reaper: undefined method `delete_suffix' for nil:NilClass #585
v7.0.5 (2021-03-18)
Implemented enhancements:
Fixed bugs:
- RubyReaper treats runtime lock as orphan and delete it #580
- Prefer conn.exists? when possible #583 (mhenrixon)
- Don't reap :RUN keys when active #582 (mhenrixon)
Closed issues:
- redis-namespace asks to use admistrative commands directly #578
v7.0.4 (2021-02-17)
Fixed bugs:
v7.0.3 (2021-02-17)
Fixed bugs:
Merged pull requests:
- Fix typo in README.md [ci skip] #575 (yujideveloper)
v7.0.2 (2021-02-08)
Fixed bugs:
- Lock not getting properly cleared for some jobs #560
- while_executing + raise let non-unique jobs to be executed #534
- delete_by_digest does not work with the msg['unique_digest'] value available in sidekiq_retries_exhausted #532
- Multiple jobs running at the same time #531
- Unable to setup in standalone Ruby project #523
- v7.0.0.beta15 Can't push new jobs to queue #501
- Reaper doesn't work - lua or ruby #498
- Tasks run once, and then there is no launch #464
- Jobs executing and immediately returning #418
- until_and_while_executing + sidekiq retry mechanism #395
- Fix that :PRIMED keys are seemingly not removed #574 (mhenrixon)
Closed issues:
- Just some clarification on the documentation. #530
- Unique Digests dashboard not filtering the full set of results #529
- after_unlock isn't called unless it's a class method #526
- The job gets JID and goes to dead right away #522
- Able to assign customise Redis setup #509
- SidekiqUniqueJobs::UniqueArgs#create_digest is getting called twice #391
Merged pull requests:
v7.0.1 (2021-01-22)
Implemented enhancements:
- Any way to manually clear/reset the changelog history? #568
- Present the entire changelog in its own view #569 (mhenrixon)
Fixed bugs:
Closed issues:
- undefined method 'delete_by_digest' for SidekiqUniqueJobs::Digests:Class #567
- Rejected jobs are still displayed as 'Queued' with gem 'sidekiq-status' on /sidekiq/statuses #564
v7.0.0 (2021-01-20)
Implemented enhancements:
- Give user full control over adding middleware #566 (mhenrixon)
- Fix coverage reporting and add coverage #565 (mhenrixon)
Fixed bugs:
- Race condition in ruby reaper #559
- Fix until and while executed and improve documentation #397
- Fix race condition to avoid reaping active jobs #563 (mhenrixon)
Closed issues:
- Is it possible to have a :until_executed lock with an expiration time? #524
v7.0.0.beta29 (2021-01-16)
Fixed bugs:
- Ruby Reaper active check incorrect #557
- Routes with authentication should work with web #562 (mhenrixon)
Closed issues:
- Can't add the lock tab o nthe website when there is authentication through devise #561
v7.0.0.beta28 (2021-01-07)
Fixed bugs:
- lock_args does not work when you define the lock_args argument and default lock_args function at the same time. #548
- incorrect
:while_executing
behavior #432 - Fix active check for the worker hash #558 (mhenrixon)
- Prefer lock_prefix not unique_prefix #554 (mhenrixon)
- Fix issue 432 #552 (mhenrixon)
v7.0.0.beta27 (2020-11-03)
Implemented enhancements:
Fixed bugs:
Closed issues:
- Documentation incorrect for
delete_by_digest
#547 - Locked jobs after kill -9 with while_executing lock #546
v7.0.0.beta26 (2020-10-28)
Implemented enhancements:
Merged pull requests:
- Update sidekiq-unique-jobs.gemspec #542 (sergey-alekseev)
v6.0.25 (2020-10-26)
v7.0.0.beta25 (2020-10-26)
Implemented enhancements:
Fixed bugs:
- Ruby reaper not working, active jobs queried incorrectly #537
- Fix RubyReaper active? #538 (tanner-rutgers)
Closed issues:
- ConnectionPool::TimeoutError and :until_executed #535
Merged pull requests:
v7.0.0.beta24 (2020-09-27)
Implemented enhancements:
Closed issues:
- Leaked keys in version 5.0.10 #519
v7.0.0.beta23 (2020-06-23)
Fixed bugs:
- Exit early when no results are returned from LRANGE given jobs might already processed #521 (vipulnsward)
v6.0.23 (2020-06-23)
Fixed bugs:
- Ruby reaper incorrectly checks active jobs — removes every active lock as result #517
v7.0.0.beta22 (2020-06-12)
Fixed bugs:
v7.0.0.beta21 (2020-06-12)
Implemented enhancements:
Fixed bugs:
Closed issues:
- Missing web interface #514
v7.0.0.beta20 (2020-06-02)
Fixed bugs:
- Reaper can't be registered again if sidekiq gets killed by SIGKILL #490
Closed issues:
- How do I turn this on for only one job class? #510
v7.0.0.beta19 (2020-05-21)
Fixed bugs:
v7.0.0.beta18 (2020-05-21)
Fixed bugs:
- Stringify on_conflict hash in Job prepare method #507 (jasonbekolay)
v7.0.0.beta17 (2020-05-20)
Implemented enhancements:
Fixed bugs:
- Deep stringify worker options to account for hash in on_conflict #506 (jasonbekolay)
v7.0.0.beta16 (2020-05-19)
Fixed bugs:
- Deprecate configuration options with
default_
#504 (mhenrixon) - Fix access to both server and client conflict #503 (mhenrixon)
Closed issues:
- V7 Beta 15
on_conflict:
with Hash does not work on server #499
v6.0.22 (2020-04-13)
v7.0.0.beta15 (2020-04-10)
Implemented enhancements:
- Duplicated scripts #492
- CI: Use jruby-9.2.11.1 #485 (olleolleolle)
Fixed bugs:
- V7 -
on_conflict:
no longer accepts a Hash #495 - Brpoplpush::RedisScript::LuaError: WRONGTYPE Operation against a key holding the wrong kind of value #491
- Lua script bug #489
- Reaper will delete locks for running jobs #488
- Fix access to hash members #496 (mhenrixon)
- Fix cursor assignment #494 (mhenrixon)
- Prevent reaping of active jobs #493 (mhenrixon)
v7.0.0.beta14 (2020-03-30)
Fixed bugs:
v6.0.21 (2020-03-30)
v7.0.0.beta13 (2020-03-26)
Fixed bugs:
v7.0.0.beta12 (2020-03-25)
Fixed bugs:
- until_expired is not setting TTL #468
- Fix bug where expiration wasn't set until unlock #481 (mhenrixon)
v6.0.20 (2020-03-22)
Fixed bugs:
- Deletion of digest doesn't work from admin UI #438
Closed issues:
v7.0.0.beta11 (2020-03-21)
Fixed bugs:
v7.0.0.beta10 (2020-03-21)
Implemented enhancements:
- Rename remaining unique_* keys to lock_* #475 (mhenrixon)
- Split calculator into two separate #474 (mhenrixon)
- Prepare for improving tests #473 (mhenrixon)
- Update gemspec: thor #465 (masawo)
Fixed bugs:
- With v6.0.18, Sidekiq doesn't run at all #471
- Fix errors_as_string on lock_config.rb #469 (donaldpiret)
Merged pull requests:
- README: Use SVG badges ✨ #470 (olleolleolle)
- remove deprecated/broken OptionsWithFallback#unique_type #435 (zvkemp)
v6.0.19 (2020-03-21)
v7.0.0.beta9 (2019-12-04)
Implemented enhancements:
Closed issues:
- until_and_while_executing with sidekiq pro
reliable_scheduler!
#411
v7.0.0.beta8 (2019-11-28)
Implemented enhancements:
- Allow worker to configure client and server strategies separately #402
- Separate client and server on_conflict #462 (mhenrixon)
Fixed bugs:
while_executing
has problems at low concurrency #384- lock: :until_and_while_executing not working for scheduled jobs #334
Closed issues:
v7.0.0.beta7 (2019-11-28)
Fixed bugs:
- A worker with "While Executing" lock and "Reschedule" strategy is rescheduled forever #457
- Prevent callbacks from preventing locks #460 (mhenrixon)
v7.0.0.beta6 (2019-11-28)
Implemented enhancements:
Merged pull requests:
v6.0.18 (2019-11-28)
Fixed bugs:
- Jobs not pushed when using sidekiq-status #412
Closed issues:
- Unique jobs only executed once when used with sidekiq-global_id #235
v7.0.0.beta5 (2019-11-26)
Implemented enhancements:
- Bump rails #450 (mhenrixon)
- Rename myapp #449 (mhenrixon)
- Just to keep track of this #445 (mhenrixon)
Fixed bugs:
- Prevent multiple reapers #453 (mhenrixon)
- Make deletion compatible with redis-namespace #452 (mhenrixon)
- Make sure server process stays locked #448 (mhenrixon)
Merged pull requests:
v6.0.17 (2019-11-26)
v6.0.16 (2019-11-25)
v7.0.0.beta4 (2019-11-25)
Fixed bugs:
v7.0.0.beta3 (2019-11-24)
Implemented enhancements:
Fixed bugs:
- Redis is busy running script and script never terminates #441
- Make the ruby reaper plain ruby #443 (mhenrixon)
Closed issues:
- Some jobs seem to be treated as duplicate despite empty queue #440
Merged pull requests:
v7.0.0.beta2 (2019-10-08)
Fixed bugs:
Closed issues:
- incorrect
:until_and_while_executing
behavior #424
v7.0.0.beta1 (2019-10-07)
Implemented enhancements:
- Bump ruby versions in Travis CI #425 (giraffate)
- Allow lock info to be configured from worker #407 (mhenrixon)
- Validate worker configuration #406 (mhenrixon)
- Codeclimate configuration #405 (mhenrixon)
- Ensure uniquejobs namespace #400 (mhenrixon)
- Prepare for version 7 #387 (mhenrixon)
- Provide some configuration DSL for custom Strategies and Locks #383 (mberlanda)
Fixed bugs:
- Allow Sidekiq::Context to be used for logging #429 (mhenrixon)
- Fix sidekiq develop #426 (mhenrixon)
- Reap as many orphans as advertised #403 (mhenrixon)
- Reaper should remove :INFO keys #399 (mhenrixon)
Merged pull requests:
- Fix filename #409 (piton4eg)
- Adds some assets for documentation #404 (mhenrixon)
- fix: documentation link #390 (shaojunda)
- Move workers in examples into spec/support/workers #386 (mhenrixon)
- Rename rails_example to my_app #385 (mhenrixon)
v6.0.15 (2019-10-05)
Implemented enhancements:
- Lock both worker and queue #274
Fixed bugs:
Closed issues:
- :until_executing does not schedule job in Sidekiq 6.0.1 at all #427
- Typo in documentation #423
- Error in documentation #422
- FIFO strategy #415
- NoMethodError on setting global configurations #413
- Syntax error on using the v6.0.13 #410
- Add support for on_conflict: :log for UntilExecuting lock #408
- Allow sidekiq_options to set lock_info #401
- Validate sidekiq_options for each worker #398
- Expiration for all locks #393
- Fix your paypal link in README #389
v6.0.13 (2019-04-14)
Implemented enhancements:
Closed issues:
- Unique args in combination with sidekiq cron contains
_aj_symbol_keys
#363 - Low quality piece of shit #360
- Passthrough has been deprecated and will be removed in redis-namespace 2.0 #338
v6.0.12 (2019-02-28)
Fixed bugs:
- we are receiving SidekiqUniqueJobs::ScriptError "Problem compiling convert_legacy_lock" after upgrading from 5.0.10 -> 6.0.11 #377
- Fix converting legacy locks #378 (mhenrixon)
v6.0.11 (2019-02-24)
Implemented enhancements:
Fixed bugs:
- Prevent memory leaks (many locks stay in memory) #368
- :until_and_while_executing not processing queued jobs after executing #355
- Version 6: lets you schedule job with missing arguments #351
- Version 6 Ignores Jobs Enqueued in Version 5 #345
- Job will not enqueue even with no existing match #342
- Convert v5 locks when needed #375 (mhenrixon)
Closed issues:
- Infinite lock using until_and_while_executing after sidekiq restart #361
- getting a crash using lock_expiration on v6.0.6 #350
- Problem when job failed and is retrying #332
Merged pull requests:
v6.0.10 (2019-02-23)
Implemented enhancements:
Closed issues:
- Unsure of sane defaults #372
v6.0.9 (2019-02-11)
Implemented enhancements:
- Delete all locks button #357
- John denisov add delete all button to web #370 (mhenrixon)
- Various upgrades #366 (mhenrixon)
v6.0.8 (2019-01-10)
Fixed bugs:
Closed issues:
- Automatic unlock of jobs #362
- (6.0.7)
uniquejobs:{digest}:AVAILABLE
keys never expire #359 - Strange behavior using strategy "reject" with "until_executed" #358
- Pinpointing issues with unique digests not being removed #353
Merged pull requests:
v6.0.7 (2018-11-29)
Implemented enhancements:
Fixed bugs:
- Version 5: Job ID Hash Entries Not Removed if Unique Key Expires #346
- Move the lpush last #354 (mhenrixon)
- Convert expiration time to integer #330 (dareddov)
Closed issues:
- First job never unlocks the lock / Endless waiting #352
- Version 5&6: uniqueness not respected for Job without params #349
Merged pull requests:
- Do not build keys on lua scripts #348 (pacoguzman)
- fix CHANGELOG syntax #344 (timoschilling)
- Define Config class inside SidekiqUniqueJobs module #343 (Slike9)
- fix readme testing section #333 (edmartins)
- Fix typo in documentation [ci-skip] #327 (mhenrixon)
v5.0.11 (2018-11-19)
Closed issues:
- concurrent-ruby 1.1.1 is causing this gem to break #340
- lock remains after job not properly finish #339
- Using a different Redis instance #337
- Using :until_and_while_executing not yielding expected results #336
- "payload is not unique", but cannot find digest or scheduled job #335
- Confused with UntilExecuted documenation #326
- Job never requeued after raising unhandled error with until_and_while_executing? #322
v6.0.6 (2018-08-09)
Implemented enhancements:
Closed issues:
- Unique UntilExecuted not working while the job is executing? #319
v6.0.5 (2018-08-07)
Fixed bugs:
Closed issues:
- Why is lock_timeout: nil VERY DANGEROUS? #313
v6.0.4 (2018-08-02)
Fixed bugs:
Closed issues:
- Question about until_timeout with 6.0.0 #303
v6.0.3 (2018-08-02)
Fixed bugs:
Closed issues:
- Sidekiq Web Pagination Broken #309
Merged pull requests:
v6.0.2 (2018-08-01)
Fixed bugs:
v6.0.1 (2018-07-31)
Fixed bugs:
- :until_executed is throwing errors and not requeuing the job. #256
- Remove unused method #307 (mhenrixon)
Closed issues:
- ArgumentError: sidekiq_unique_jobs/web breaks sidekiq Retries page #306
- If the job dies, it doesn't remove the lock #304
Merged pull requests:
- Dead jobs #308 (mhenrixon)
- Fix require path for sidekiq_unique_jobs/web #305 (soundasleep)
v6.0.0 (2018-07-27)
v6.0.0.rc8 (2018-07-24)
Implemented enhancements:
- Add RequeueWhileExecuting strategy #223
- New feature: Replace original job if duplicate is added #177
- Add a replace strategy for client locks #302 (mhenrixon)
Merged pull requests:
v6.0.0.rc7 (2018-07-23)
Implemented enhancements:
- Sidekiq web #297 (mhenrixon)
- Document code #296 (mhenrixon)
- Rename to
unique:
tolock:
#295 (mhenrixon)
Closed issues:
Merged pull requests:
v6.0.0.rc6 (2018-07-15)
Fixed bugs:
Closed issues:
- Locking with retries #289
Merged pull requests:
v6.0.0.rc5 (2018-06-30)
Fixed bugs:
v6.0.0.rc4 (2018-06-30)
Implemented enhancements:
v6.0.0.rc3 (2018-06-29)
Fixed bugs:
v6.0.0.rc2 (2018-06-26)
Implemented enhancements:
- Within tests: workers enqueued in the future don't clear their unique locks after being drained/executed #254
- Unexpected behavior with until_executed #250
Fixed bugs:
- Unique job needs to be unlocked manually? #261
- Duplicate jobs getting created #257
- Multiple non-unique jobs with until_executed? #255
- :until_executing not unlocking when starting to run #245
- Drop jobs hash #282 (mhenrixon)
Closed issues:
- Difference between :until_and_while_executing vs :until_executed is not clear #249
- Deprecated Documentation #246
- Are we meant to manually expire the unique jobs hash? #234
- How :until_executing works ? Run job only once and discard new jobs while another job is executing #226
Merged pull requests:
v6.0.0.rc1 (2018-06-26)
Implemented enhancements:
- Legacy support #280
- Adds legacy support #281 (mhenrixon)
- Adds guard-reek #279 (mhenrixon)
- Fix UntilExpired #278 (mhenrixon)
v6.0.0.beta2 (2018-06-25)
Implemented enhancements:
v6.0.0.beta1 (2018-06-22)
Implemented enhancements:
- Code smells #275 (mhenrixon)
- Reject while scheduling #273 (mhenrixon)
- Improve testing #272 (mhenrixon)
- Until and while executing #271 (mhenrixon)
- Solidify master #270 (mhenrixon)
- Minor adjustments #268 (mhenrixon)
- Use ruby 2.5.1 #267 (mhenrixon)
- Add explicit concurrent-ruby dependency. #265 (brettburley)
Fixed bugs:
- Allow
jobs keys
to default to listing all keys #252 (soundasleep)
Merged pull requests:
- Improve documentation #269 (mhenrixon)
- Remove unnecessary monkey patches for String #262 (zormandi)
- README > While Executing: remove unnecessary word #260 (TimCannady)
- Don't skip monkeypatches if ActiveSupport present #248 (dleavitt)
- Better runtime locks #241 (mhenrixon)
v6.0.0.beta (2018-06-17)
Closed issues:
- Incomplete sentence in README #264
- ActiveJob and Sidekiq::Worker #259
- ActiveJob and Sidekiq::Worker #258
- Non-unique jobs can be added even when
sidekiq_options unique: :until_executed
#251 - Trouble with "inline" mode #243
- Sidekiq::Worker.set not working with sidekiq-unique-jobs #242
- sidekiq-unique-job with ActiveJob #238
- Deadlock using :while_executing? #233
v5.0.10 (2017-08-19)
Closed issues:
- Version v5.0.5 might have introduced a breaking change in while_executing and was not documented #230
- String arguments not seen as unique #222
- unique_args method suppresses all
NameError
exceptions #219
Merged pull requests:
- Various improvements #240 (mhenrixon)
- Fix: uninitialized constant CustomQueueJob on rspec #239 (dalpo)
v5.0.9 (2017-07-06)
Closed issues:
- The work of several unique sidekiq tasks within one queue #225
- Missing documentation on activejob usage #221
Merged pull requests:
- Your testing lib is broken and don't permit to test uniqueness of jobs #232 (keysen)
- Use hscan for Util#expire #229 (dmkc)
- Fixed documentation example about unique_args #228 (andresakata)
- Fix filename #224 (ikataitsev)
v5.0.8 (2017-05-03)
Closed issues:
- Using JSON.parse in delete_by_value_ext break compatiblity with other Sidekiq extensions #220
- Is it possible to get the Job ID of original job? #217
v5.0.7 (2017-04-26)
Closed issues:
v5.0.6 (2017-04-23)
Closed issues:
- Different unique arguments depending on lock type #203
- Strategy until_and_while_executing not working properly #199
- while_executing working wrong #193
v5.0.5 (2017-04-23)
Merged pull requests:
v5.0.4 (2017-04-18)
v5.0.3 (2017-04-18)
v5.0.2 (2017-04-17)
Closed issues:
- Uniqueness should not survive Class.jobs.clear #214
- when arguments are empty then unique_args proc/method is not executed #201
v5.0.1 (2017-04-16)
Closed issues:
- Removing "uniquejobs" hash? #213
- deprecation warnings with redis-namespace 2.0 #212
- Unclear docs / examples for unique_args #211
- Jobs Console fails to launch #208
- Util.del Redis::CommandError: ERR syntax error #207
- version 4.0.19 #206
- Job.delete does not remove lock in all circumstances #205
- disappearing jobs - known issue in conjunction with other extensions? #202
- Broken pipe @ io_write - <STDERR> on sidekiq unique jobs #198
- Doesn't play well with redis-namespace #196
- SidekiqUniqueJobs::ScriptError #192
Merged pull requests:
v5.0.0 (2017-04-08)
Fixed bugs:
Closed issues:
- Could not find a valid gem 'sidekiq-unique-jobs' (= 3.0.15) in any repository #197
uniquejobs
hash doesn't get cleaned up #195- Code block under "Finer Control over Uniqueness" in your documentation might have the wrong option specified #191
- not able to run test without live Redis #186
- unique while not sucessfully completed? #185
- Duplicate jobs when using :until_and_while_executing #181
- unique: :while_executing doesn't remove lock when the Sidekiq node running the job shuts down and terminates the job prematurely #170
- :while_executing appears to be broken #159
- Using ":until_executing, :until_executed, :until_timeout, :until_and_while_executing" all break Sidekiq::Testing #157
- Way to remove lock in application code #147
Merged pull requests:
- Increase sleep delay in WhileExecuting#synchronize #204 (dsander)
- Ensure job ID removed from uniquejobs hash #200 (carlosmartinez)
- unique args need to be an array #194 (pboling)
v4.0.18 (2016-07-24)
Closed issues:
- ArgumentError: wrong number of arguments (given 1, expected 2) #190
- Should be note on document only works on production mode #189
- SidekiqUniqueJobs::ScriptError: release_lock.lua NOSCRIPT No matching script. #187
- sidekiq-unique-jobs kills sidekiq in production #183
- Parameters turn into String #182
- You really helped me today #180
- 4.0.17 config #171
- Problem with releasing uniquejobs locks after timeout expires #169
- NOSCRIPT No matching script. Please use EVAL. #168
- Broken compatibility with Sidekiq 3.4 #140
Merged pull requests:
- missed space #188 (TheBigSadowski)
- Convert unless if to just 1 if #179 (otzy007)
- fix for #168. Handle the NOSCRIPT by sending the script again #178 (otzy007)
- Fixed gitter badge link #176 (andrew)
v4.0.17 (2016-03-02)
Closed issues:
- No place where I can say "Thank you" for all contributors #165
v4.0.16 (2016-02-17)
Merged pull requests:
- Fix for sidekiq delete failing for version 3.4.x #167 (theprogrammerin)
- Run lock timeout configurable #164 (Slania)
v4.0.15 (2016-02-16)
Closed issues:
- Until timeout question #163
- Error when run rspec #162
- Unique job keys never dissapear #161
- Uniqueness breaks jobs #160
- Too many open files #155
Merged pull requests:
- Add a Gitter chat badge to README.md #166 (gitter-badger)
- Fix test overrides. #158 (benseligman)
- Remove wrong Server::Middleware#worker_class override #156 (vkuznetsov)
v4.0.13 (2015-12-16)
Closed issues:
v4.0.12 (2015-12-15)
Closed issues:
- Can't schedule a job from another job #151
- perform_in not working in version 4.0.9 #150
unique: until_and_while_executing
not working as expected #146- while_executing still runs duplicate tasks #136
- Version 4 Upgrade #133
v4.0.11 (2015-12-12)
Closed issues:
- Release a new version for Ruby < 2.1 compatability #152
v4.0.10 (2015-12-12)
Closed issues:
- Until Executed is taking waiting for unique_expiration #149
- Until Executed vs Unique Until And While Executing is confusing in README #148
- sidekiq-unique-jobs not enabled from sidekiq workers #131
v4.0.9 (2015-11-14)
Closed issues:
- Error when using unique_args in 4.0.8 #145
- Ignore lock when jobs spawned from another sidekiq worker #142
- Two Rails apps on the same server, but only one Sidekiq instances is working correctly #141
- ActiveRecord::RecordNotDestroyed: Failed to destroy the record #139
v4.0.8 (2015-10-31)
Closed issues:
- Jobs not getting queued in v4 #138
- Unique args being considered? #137
- No mention how to test in README #135
- License Difference #132
Merged pull requests:
- Calculate worker's unique args when a proc or a symbol is specified #143 (zeqfreed)
- Fix markdown link formatting #134 (thbar)
v4.0.7 (2015-10-14)
Closed issues:
v4.0.6 (2015-10-14)
Closed issues:
- NameError: uninitialized constant SidekiqUniqueJobs::RunLockFailed #126
v4.0.5 (2015-10-13)
Closed issues:
- Rails + Sidekiq will go bezerk after sidekiq-unique-jobs testing check. #128
- NoMethodError: undefined method `to_sym' for true:TrueClass #125
- Redis::CommandError: ERR unknown command 'eval' #124
Merged pull requests:
- Forces to look for testing namespace in Sidekiq and not his ancestors #129 (antek-drzewiecki)
- Fix outdated phrasing and add test coverage to readme #123 (albertyw)
v4.0.4 (2015-10-09)
Closed issues:
- Active job with unique args doesn't work #120
- 4.0.1 => job no longer unique #117
- Update Changelog and Tags #115
v4.0.3 (2015-10-08)
Closed issues:
- unique_unlock_order - never option #122
- Run 1 job and queue 1 #121
- unique_lock vs unique_locks typo #119
- 4.0.2 commited but not released to rubygems? #118
v4.0.2 (2015-10-06)
4.0.1 (2015-10-06)
Closed issues:
- Don't work with perform_in #114
- 3.0.15 apparently breaks inline testing #113
- sidekiq_unique record in Redis is not cleaned when foreman process is killed #112
- Can't ensure unique job simultaneously. #111
- Job considered as duplicate after completion only in production #110
- Gem requires Redis 2.6+? #109
- unable to re-schedule job at specific time #108
- Documentation Not Clear #78
- Runtime uniqueness when using :before_yield as unlock order #72
- Using with sidekiq delayed extensions #45
Merged pull requests:
v4.0.0 (2015-10-05)
Implemented enhancements:
- Duplicated Jobs With Nested Sidekiq Workers #10
Closed issues:
- 3.0.14 Error: ERR wrong number of arguments for 'set' command (Redis::CommandError) #104
- Testing #103
- Active Job #102
- Why is SidekiqUnique behaviour applied to regular Workers? #100
- Confusing behavior when trying to
[1,2,3].each { |n| SomeJob.perform_in(n.seconds.from_now, n) }
never running, logging as duplicate value #98 - Scheduled jobs are not unlocked when deleted #97
- Testing functions should be moved out of production code #95
- Jobs can unlock mutexes they don't own #94
- Jobs scheduled in the future are never run #93
- perform_at and perform_async do not unique if perform_at is in the future. #91
- Latest release is breaking #90
- Optimize Redis usage #89
- Unique jobs sets Sidekiq testing to inline! mode #88
- Test suite unclear on what happens when duplicate job is attempted #84
- Change log level to info rather than warn #80
- Jobs are unlocked if they fail and are retried #77
- Usage of sidekiq-unique-jobs with activejob #76
- If a job is deleted from the enqueued list, it's still unique and new jobs can't be added. #74
- Incorrect README re: uniqueness time? #73
- Sidekiq::Testing inline detection assumes you're always using inline testing #71
- unique_args_enabled has been deprecated, nothing in readme #70
- The second job does not run, even if it has different arguments #69
- Jobs not being executed anymore?? #65
- mock_redis and the mess #62
- What is the exact behavior? #47
- Throttling jobs #39
- undefined method `get_sidekiq_options' for "MyScheduledWorker":String #27
- Crash handling #14
- Missing info from README #6
Merged pull requests:
- Allow job with jid matching unique lock to pass unique check #105 (deltaroe)
- Prevent Jobs from deleting mutexes they don't own #96 (pik)
- Add after unlock hook #92 (HParker)
- Do not unlock on sidekiq shutdown #87 (deltaroe)
- Remove no-op code, protect global space from test code #86 (stevenjonescgm)
- Remove unique lock when executing and clearing jobs in sidekiq fake mode #83 (crberube)
- Fix tests. Tests with latest sidekiq versions and ruby versions #82 (simonoff)
- Duplicate Payload logging configuration #81 (jprincipe)
- output log if not unique #79 (sonots)
- Checking Sidekiq::Testing.inline? on testing strategy and connector #75 (Draiken)
v3.0.11 (2014-12-15)
Closed issues:
- ConnectionPool used incorrectly - causes deadlocks #66
- undefined
configuration
when using .configure #64
Merged pull requests:
- Use ConnectionPool blocks to ensure exclusive connection. Closes #66. #67 (adstage-david)
v3.0.10 (2014-11-19)
Closed issues:
- LoadError: cannot load such file -- mock_redis #60
- The deprecation message is unclear and unnecessary #59
Merged pull requests:
- Added method name to depreciation warning message #61 (jamesbowles)
v3.0.9 (2014-11-05)
Closed issues:
- sidekiq-unique-jobs prevents not unique jobs creation event with sidekiq inline test mode #58
- mock redis dependency #55
- Unique key inconsistency between server and client #48
- Example Test using Sidekiq::Testing.inline #44
- Will a second job lose if the job is already queued, or is already scheduled? #43
- Can you update the change log? #42
Merged pull requests:
- Refactoring connectors to use them in client and server #56 (salrepe)
- Fix dependency error in inline testing connector #54 (salrepe)
- Add extension to Sidekiq API that is uniqueness-aware #52 (rickenharp)
v3.0.3 (2014-11-03)
Closed issues:
- is mock_redis really a runtime dependency? #46
Merged pull requests:
- Unlock testing inline jobs like normal ones #53 (salrepe)
- Declare mock_redis as development dependency instead of runtime one #51 (phuongnd08)
v3.0.2 (2014-06-08)
Closed issues:
- Add unique job key to the message json #40
Merged pull requests:
- Add the unique hash to the message for use by the workers. #41 (sullimander)
v3.0.1 (2014-06-08)
Closed issues:
- Support for sidekiq 3? #34
- Short jobs are not unique for the given time window #33
- Not all sidekiq:sidekiq_unique keys are removed from Redis #31
- What does uniqueness mean in case of this gem? #30
- Server middleware removes payload hash key before expiration #26
- Lock remains when running with Sidekiq::Testing.inline! #23
- What is the use case for the uniqueness window? #22
- clarification on unique_args #20
- payload_hash staying around #13
Merged pull requests:
- Fix repo URLs for badges #38 (felixbuenemann)
- Clarify README about unique expiration #36 (spacemunkay)
- Add option to make jobs unique on all queues #32 (robinmessage)
- Fix homepage in gemspec #29 (tmaier)
v2.7.0 (2013-11-24)
Closed issues:
- Sidekiq tests failed when sidekiq-unique-jobs is used #24
- Redis not mocked in testing #18
- Scheduled Unique Jobs Not Being Enqueued #15
- Retries duplicates unique jobs #5
- Middleware not added to chain? #2
Merged pull requests:
- Make unlock/yield order configurable. #21 (endofunky)
- Rely on Sidekiq's String#constantize extension instead of rolling our own #19 (disbelief)
- Attempt to constantize String
worker_class
arguments passed to client middleware #17 (disbelief) - Compatibility with Sidekiq 2.12.1 Scheduled Jobs #16 (lsimoneau)
- Allow worker to specify which arguments to include in uniquing hash #12 (sax)
- Add support for unique when using Sidekiq's delay function #11 (eduardosasso)
- Adding the unique prefix option #8 (KensoDev)
- Remove unnecessary log messages #7 (marclennox)
v2.3.2 (2012-09-27)
Closed issues:
- Scheduled workers #1
Merged pull requests:
- Fix multiple bugs, cleaned up dependencies, and added a feature #4 (kemper-blinq)
- Dependency on sidekiq 2.2.0 and up #3 (philostler)
v2.2.1 (2012-08-19)
v2.2.0 (2012-08-19)
v2.1.0 (2012-08-07)
* This Changelog was automatically generated by github_changelog_generator