sidekiq-unique-jobs icon indicating copy to clipboard operation
sidekiq-unique-jobs copied to clipboard

Conflict resolution documentation

Open philipbeber opened this issue 2 years ago • 1 comments

Describe the bug The paragraph in the introduction describing conflict resolution stops mid-sentence: By default, only one lock for a given hash can be acquired. What happens when a lock can't be acquired is governed by a chosen [Conflict Strategy](https://github.com/mhenrixon/sidekiq-unique-jobs#conflict-strategy) strategy. Unless a conflict strategy is chosen

Expected behavior It would be nice to know:

  • What happens when a conflict strategy is not chosen, i.e. what is the default behavior?
  • How does one simply ignore queuing a job if the lock is already taken (rather than sending it to the morgue)?
  • This text: By default, only one lock for a given hash can be acquired implies there's a way to have more than one lock for each hash. Is this a reference to the lock_args feature or something else?

Additional context Great gem! Thanks for providing this. It is very useful.

philipbeber avatar Mar 14 '22 18:03 philipbeber

This would indeed be very helpful. I've spent some time reading through the code and it looks like the default confliect resolution strategy is [the null strategy(https://github.com/mhenrixon/sidekiq-unique-jobs/blob/main/lib/sidekiq_unique_jobs/on_conflict/null_strategy.rb). However, I'm not quite sure what behavior that entails.

exterm avatar Apr 05 '23 20:04 exterm