Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/telent/ar-as-batches
Retrieve AR objects from a query in batches
https://github.com/telent/ar-as-batches
Last synced: about 1 month ago
JSON representation
Retrieve AR objects from a query in batches
- Host: GitHub
- URL: https://github.com/telent/ar-as-batches
- Owner: telent
- License: mit
- Created: 2012-05-05T15:30:49.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2013-11-04T16:55:19.000Z (about 11 years ago)
- Last Synced: 2023-03-10T23:27:21.135Z (over 1 year ago)
- Language: Ruby
- Homepage: http://ww.telent.net/2012/5/4/changing_sort_order_with_activerecord_find_in_batches
- Size: 97.7 KB
- Stars: 14
- Watchers: 0
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ActiveRecord::Relation#as_batches
Users.where(country_id: 44).as_batches(:batch_size=>200) do |user|
user.party_all_night!
end`ar-as-batches` is what you (might) need if you were hoping `#find_each`
would solve your problem and are disappointed to find that it doesn't.Like `#find_each` it is intended for batch processing of large (or
unknown) numbers of records that would require excessive memory if an
object for each of the complete result set were created at once. It
retrieves records from your relation in batches of 1000 (or as
specified by the `:batch_size` option) and yields each record.Unlike `#find_each` it honours `order`, `limit` and `offset` options
on your query, so if you want records in reverse chronological order
instead of ascending id order, and you want to start on page 2:
you're welcome.