* Create failing tests to capture the cases we care about
Co-authored-by: Noa Elad <noa.elad@zenpayroll.com>
* Call .force on args if they are a lazy enumerator to evaluate them immediately
Co-authored-by: Noa Elad <noa.elad@zenpayroll.com>
* Change implementation of `.perform_bulk` to lazily pull values from a lazy enumerator.
This prevents us from loading the entire contents of a lazy enumerator into memory while providing the
"unsurprising" behavior of enqueueing jobs when `.perform_bulk` is called.
Note: We'll still load all JIDs into memory.
Co-authored-by: Noa Elad <noa.elad@zenpayroll.com>
Co-authored-by: Eda Zhou <eda.zhou@gusto.com>
Co-authored-by: Noa Elad <noa.elad@zenpayroll.com>
Co-authored-by: Eda Zhou <eda.zhou@gusto.com>
* Sketch out some failing tests to capture the behavior
Co-authored-by: jeffcarbs <jeff.carbonella@gmail.com>
* Implement Sidekiq::Client.perform_bulk
Co-authored-by: jeffcarbs <jeff.carbonella@gmail.com>
* Allow .perform_bulk to operate on different batch sizes
Co-authored-by: jeffcarbs <jeff.carbonella@gmail.com>
* Write a failing test to capture the Sidekiq::Worker::Setter.perform_bulk behavior
Co-authored-by: jeffcarbs <jeff.carbonella@gmail.com>
* Implement Sidekiq::Worker::Setter.perform_bulk
Co-authored-by: jeffcarbs <jeff.carbonella@gmail.com>
* Write a small comment for to document the method
Co-authored-by: jeffcarbs <jeff.carbonella@gmail.com>
* Add a Changes.md entry
Co-authored-by: jeffcarbs <jeff.carbonella@gmail.com>