Sha256: ea86550e20342ba43df1679be3e4f99b62ffaac298b82670a21d4508575041a5

Contents?: true

Size: 1.42 KB

Versions: 3

Compression:

Stored size: 1.42 KB

Contents

# run with
# $ RESQUE_2=1 bi; RESQUE_2=1 be ruby -I. -Ilib/ test/test_resque_2.rb
if !ENV['RESQUE_2'].nil?

  require 'minitest'
  require "minitest/autorun"
  require "pry"
  require "logger"

  $:.unshift(".")
  require "resque_stuck_queue"
  require File.join(File.expand_path(File.dirname(__FILE__)), "resque", "set_redis_key")
  require File.join(File.expand_path(File.dirname(__FILE__)), "resque", "refresh_latest_timestamp")

  class TestResque2 < Minitest::Test

    def setup
      assert (Resque::VERSION.match /^2\./), "must run in 2.0"
      Redis.new.flushall
    end

   def test_works_with_2_point_oh_do_not_trigger_because_key_is_updated

     Resque.redis = Redis.new

     Resque::StuckQueue.config[:heartbeat] = 1
     Resque::StuckQueue.config[:abort_on_exception] = true
     Resque::StuckQueue.config[:trigger_timeout] = 5
     Resque::StuckQueue.config[:logger] = Logger.new($stdout)
     Resque::StuckQueue.config[:handler] = proc { Redis.new.incr("test-incr-key") }
     Resque::StuckQueue.config[:redis] = Redis.new

     #binding.pry
     Resque::StuckQueue.start_in_background

     @r2_pid = fork { Resque.redis = Redis.new ; Resque::Worker.new("*", :graceful_term => true).work ; Process.waitall }
     sleep 10

     # did not trigger, resque picked up refresh jobs
     assert_equal Redis.new.get("test-incr-key").to_i, 0

     `kill #{@r2_pid}`
     Process.waitall
     Resque::StuckQueue.force_stop!
   end

  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
resque_stuck_queue-0.0.10 test/test_resque_2.rb
resque_stuck_queue-0.0.9 test/test_resque_2.rb
resque_stuck_queue-0.0.8 test/test_resque_2.rb