Class: Sidekiq::ProfileSet
- Inherits:
-
Object
- Object
- Sidekiq::ProfileSet
- Includes:
- Enumerable
- Defined in:
- lib/sidekiq/api.rb
Instance Method Summary collapse
- #each(&block) ⇒ Object
-
#initialize ⇒ ProfileSet
constructor
This is a point in time/snapshot API, you’ll need to instantiate a new instance if you want to fetch newer records.
- #size ⇒ Object
Constructor Details
#initialize ⇒ ProfileSet
This is a point in time/snapshot API, you’ll need to instantiate a new instance if you want to fetch newer records.
1288 1289 1290 1291 1292 1293 1294 1295 |
# File 'lib/sidekiq/api.rb', line 1288 def initialize @records = Sidekiq.redis do |c| # This throws away expired profiles c.zremrangebyscore("profiles", "-inf", Time.now.to_f.to_s) # retreive records, newest to oldest c.zrange("profiles", "+inf", 0, "byscore", "rev") end end |
Instance Method Details
#each(&block) ⇒ Object
1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 |
# File 'lib/sidekiq/api.rb', line 1301 def each(&block) fetch_keys = %w[started_at jid type token size elapsed].freeze arrays = Sidekiq.redis do |c| c.pipelined do |p| @records.each do |key| p.hmget(key, *fetch_keys) end end end arrays.compact.map { |arr| ProfileRecord.new(arr) }.each(&block) end |
#size ⇒ Object
1297 1298 1299 |
# File 'lib/sidekiq/api.rb', line 1297 def size @records.size end |