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?, #initialize_dup, #monitor, #pop_test, #remaining_size, #sharded?, #success?, #to_a

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.



443
444
445
446
# File 'lib/megatest/redis_queue.rb', line 443

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

Instance Method Details

#populate(test_cases) ⇒ Object



448
449
450
451
452
453
# File 'lib/megatest/redis_queue.rb', line 448

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



455
456
457
458
459
460
# File 'lib/megatest/redis_queue.rb', line 455

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