Module: RRRSpec::StatisticsUpdaterQueue

Defined in:
lib/rrrspec/redis_models.rb

Constant Summary collapse

STATISTICS_UPDATER_QUEUE_KEY =
'rrrspec:statistics_updater_queue'

Class Method Summary collapse

Class Method Details

.dequeueObject

Public: Wait for the update request.



102
103
104
105
106
107
# File 'lib/rrrspec/redis_models.rb', line 102

def dequeue
  _, line = RRRSpec.redis.blpop(STATISTICS_UPDATER_QUEUE_KEY, 0)
  request = JSON.parse(line)

  [Taskset.new(request['taskset']), request['recalculate']]
end

.empty?Boolean

Returns:

  • (Boolean)


109
110
111
# File 'lib/rrrspec/redis_models.rb', line 109

def empty?
  RRRSpec.redis.llen(STATISTICS_UPDATER_QUEUE_KEY) == 0
end

.enqueue(taskset, recalculate = false) ⇒ Object

Public: Request the taskset to be added to statistics.



96
97
98
99
# File 'lib/rrrspec/redis_models.rb', line 96

def enqueue(taskset, recalculate = false)
  RRRSpec.redis.rpush(STATISTICS_UPDATER_QUEUE_KEY,
    {taskset: taskset.key, recalculate: recalculate}.to_json)
end