I just found this project while googling how to make sure certain Sidekiq jobs are not executed multiple times. sidekiq-unique-jobs seems to do exactly that... awesome!
I think there is some info missing in the README though, specifically:
- Are worker arguments taken into account? So if I have a
HardWorker and I call HardWorker.perform_async('bob', 5) multiple times, that job should obviously only be queued once. But what if I call HardWorker.perform_async('bob', 5) and HardWorker.perform_async('jane', 10)? Are both those jobs queued? I suppose so but I'm not 100% sure.
- Why is the expiration parameter needed? Does it mean that by default the same job cannot be enqueued again up to 30min after it was removed from the queue?
I think both these points (and possibly more) should be explained in the README.
I'm happy to prepare a pull request for it, if you answer my questions in here.
Thanks for your work on this!
I just found this project while googling how to make sure certain Sidekiq jobs are not executed multiple times.
sidekiq-unique-jobsseems to do exactly that... awesome!I think there is some info missing in the README though, specifically:
HardWorkerand I callHardWorker.perform_async('bob', 5)multiple times, that job should obviously only be queued once. But what if I callHardWorker.perform_async('bob', 5)andHardWorker.perform_async('jane', 10)? Are both those jobs queued? I suppose so but I'm not 100% sure.I think both these points (and possibly more) should be explained in the README.
I'm happy to prepare a pull request for it, if you answer my questions in here.
Thanks for your work on this!