Skip to content

Commit 291fbc2

Browse files
committed
test with older redis,
1 parent accc303 commit 291fbc2

3 files changed

Lines changed: 17 additions & 10 deletions

File tree

.github/workflows/ruby.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ jobs:
3838
- "3.5"
3939
- "3.6"
4040
redis-version:
41+
- "~> 3.x"
4142
- "~> 4.x"
4243
- "~> 5.x"
4344
exclude:

lib/resque/scheduler/configuration.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,8 @@ def delayed_requeue_batch_size
7676
attr_writer :disable_delayed_requeue_batches
7777

7878
def disable_delayed_requeue_batches
79-
@enable_delayed_requeue_batches ||= to_bool(environment['DISABLE_DELAYED_REQUEUE_BATCH'])
79+
@enable_delayed_requeue_batches ||= \
80+
to_bool(environment['DISABLE_DELAYED_REQUEUE_BATCH'])
8081
end
8182

8283
# Amount of time in seconds to sleep between polls of the delayed

test/delayed_queue_test.rb

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
# vim:fileencoding=utf-8
22
require_relative 'test_helper'
33

4+
def assert_resque_key_exists?(key)
5+
if Gem::Requirement.create('< 4').satisfied_by?(Gem::Version.create(Redis::VERSION))
6+
assert(!Resque.redis.exists(key))
7+
else
8+
assert(!Resque.redis.exists?(key))
9+
end
10+
end
11+
412
context 'DelayedQueue' do
513
setup do
614
Resque::Scheduler.quiet = true
@@ -41,7 +49,7 @@
4149
'Should have the same arguments that we queued')
4250

4351
# And now confirm the keys are gone
44-
assert(!Resque.redis.exists?("delayed:#{timestamp.to_i}"))
52+
assert_resque_key_exists?("delayed:#{timestamp.to_i}")
4553
assert_equal(0, Resque.redis.zcard(:delayed_queue_schedule),
4654
'delayed queue should be empty')
4755
assert_equal(0, Resque.redis.scard("timestamps:#{encoded_job}"),
@@ -84,7 +92,7 @@
8492
'Should have the queue that we asked for')
8593

8694
# And now confirm the keys are gone
87-
assert(!Resque.redis.exists?("delayed:#{timestamp.to_i}"))
95+
assert_resque_key_exists?("delayed:#{timestamp.to_i}")
8896
assert_equal(0, Resque.redis.zcard(:delayed_queue_schedule),
8997
'delayed queue should be empty')
9098
assert_equal(0, Resque.redis.scard("timestamps:#{encoded_job}"),
@@ -383,7 +391,7 @@
383391
assert_equal(1, Resque.delayed_timestamp_peek(t, 0, 3).length)
384392
end
385393

386-
context "non-batch delayed item queue" do
394+
context 'non-batch delayed item queue' do
387395
batch_disabled = Resque::Scheduler.disable_delayed_requeue_batches
388396
batch_size = Resque::Scheduler.delayed_requeue_batch_size
389397
setup do
@@ -413,11 +421,9 @@
413421
# assert that the active queue is now 90
414422
assert_equal(90, Resque.size(Resque.queue_from_class(SomeIvarJob)))
415423
end
416-
417-
# TODO clean up timestamp tests?
418424
end
419425

420-
context "batch delayed item queue" do
426+
context 'batch delayed item queue' do
421427
batch_disabled = Resque::Scheduler.disable_delayed_requeue_batches
422428
batch_size = Resque::Scheduler.delayed_requeue_batch_size
423429
setup do
@@ -491,7 +497,6 @@
491497

492498
Resque::Scheduler.enqueue_delayed_items_for_timestamp(t)
493499
end
494-
495500
end
496501

497502
test 'enqueue_delayed_items_for_timestamp creates jobs ' \
@@ -1108,7 +1113,7 @@
11081113
assert_equal(
11091114
1, Resque.remove_delayed_job_from_timestamp(t, SomeIvarJob, 'foo')
11101115
)
1111-
assert !Resque.redis.exists?("delayed:#{t.to_i}")
1116+
assert_resque_key_exists?("delayed:#{t.to_i}")
11121117
assert Resque.delayed_queue_peek(0, 100).empty?
11131118
end
11141119

@@ -1149,7 +1154,7 @@
11491154
Resque.enqueue_at(timestamp, SomeIvarJob, 'foo', 'bar')
11501155

11511156
assert_equal 0, Resque.count_all_scheduled_jobs
1152-
assert !Resque.redis.exists?("delayed:#{timestamp.to_i}")
1157+
assert_resque_key_exists?("delayed:#{timestamp.to_i}")
11531158
ensure
11541159
Resque.inline = false
11551160
end

0 commit comments

Comments
 (0)