{"repo":"zoolutions/sidekiq-unique-jobs","free":true,"listed":false,"github":"https://github.com/zoolutions/sidekiq-unique-jobs","clone":"git clone https://github.com/zoolutions/sidekiq-unique-jobs.git","description":"Prevents duplicate Sidekiq jobs","language":"Ruby","stars":1543,"topics":["ruby","sidekiq","redis"],"license":"MIT","category":"databases-storage","readme_excerpt":"sidekiq-unique-jobs Prevents duplicate Sidekiq jobs. Uses Redis locks to ensure only one job with the same arguments runs at a time. 📚 Full documentation → — concepts, use-case guides, and reference. Support Me Want to show me some love for the hard work I do on this gem? You can use the following PayPal link: https://paypal.me/mhenrixon2. Any amount is welcome and let me tell you it feels good to be appreciated. Even a dollar makes me super excited about all of this. Requirements - Ruby = 3.2 - Sidekiq = 8.0 - Redis = 6.2 (for LMOVE support) Installation Quick Start That's it. Duplicate jobs are silently dropped by default. Lock Types Type Locks at Unlocks at Use case ------ ---------- ------------ ---------- :until executing Enqueue Before perform Prevent duplicate enqueuing :until executed Enqueue After perform Prevent duplicates until job completes :until expired Enqueue TTL expiry Time-based uniqueness (e.g. daily jobs) :while executing Perform After perform Prevent concurrent execution :until and while executing Enqueue + Perform Before + After perform Full lifecycle protection Conflict Strategies When a duplicate is detected, the conflict strategy determines what happens: Strategy Behavior ---------- ---------- :log (default) Log and discard the duplicate :raise Raise SidekiqUniqueJobs::OnConflict::Raise :reject Send to dead set :replace Delete the existing job and enqueue the new one :reschedule Schedule the duplicate to run later Configuration Controlling Uniqueness","default_branch":null,"files":null,"tree":[],"storefront":"/r/zoolutions","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/zoolutions/sidekiq-unique-jobs/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}