Sha256: d7c73460548a1909fa28f455ef0de265e2ada47e11e7456c632ec73194ffa4d9
Contents?: true
Size: 660 Bytes
Versions: 1
Compression:
Stored size: 660 Bytes
Contents
module Searchkick class ReindexQueue attr_reader :name def initialize(name) @name = name end def push(record_id) redis.lpush(redis_key, record_id) end # TODO use reliable queuing def reserve(limit: 1000) record_ids = Set.new while record_ids.size < limit && record_id = redis.rpop(redis_key) record_ids << record_id end record_ids.to_a end def clear redis.del(redis_key) end def length redis.llen(redis_key) end private def redis Searchkick.redis end def redis_key "searchkick:reindex_queue:#{name}" end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
searchkick-2.0.4 | lib/searchkick/reindex_queue.rb |