Class: Megatest::RedisQueue::RetryQueue

Inherits:
Queue show all
Defined in:
lib/megatest/redis_queue.rb

Instance Attribute Summary

Attributes inherited from Queue

#summary

Attributes inherited from AbstractQueue

#size, #test_cases_index

Instance Method Summary collapse

Methods inherited from Queue

#distributed?, #empty?, #monitor, #pop_test, #remaining_size, #sharded?, #success?

Methods included from ShardeableQueue

#sharded?

Methods inherited from AbstractQueue

#cleanup, #distributed?, #empty?, #pop_test, #populated?, #record_lost_test, #remaining_size, #retrying?, #sharded?, #success?, #summary

Constructor Details

#initialize(config, global_queue) ⇒ RetryQueue

Returns a new instance of RetryQueue.



439
440
441
442
# File 'lib/megatest/redis_queue.rb', line 439

def initialize(config, global_queue)
  super(config)
  @global_queue = global_queue
end

Instance Method Details

#populate(test_cases) ⇒ Object



444
445
446
447
448
449
# File 'lib/megatest/redis_queue.rb', line 444

def populate(test_cases)
  super
  failed_test_ids = @global_queue.failed_test_ids
  @size = failed_test_ids.size
  @queue = failed_test_ids.map { |id| @test_cases_index.fetch(id) }
end

#record_result(original_result) ⇒ Object



451
452
453
454
455
456
# File 'lib/megatest/redis_queue.rb', line 451

def record_result(original_result)
  result = super
  if result.success?
    @global_queue.record_result(result)
  end
end