Skip to content

Commit c7b5b0e

Browse files
committed
push queue clean up logic to Queue class
1 parent 00b3980 commit c7b5b0e

File tree

3 files changed

+11
-1
lines changed

3 files changed

+11
-1
lines changed

lib/resque.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,8 +191,8 @@ def queues
191191

192192
# Given a queue name, completely deletes the queue.
193193
def remove_queue(queue)
194-
redis.srem(:queues, queue.to_s)
195194
@queues[queue.to_s].destroy
195+
@queues.delete(queue.to_s)
196196
end
197197

198198

lib/resque/queue.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ def empty?
8585
# stdlib Queue.
8686
def destroy
8787
@redis.del @redis_name
88+
@redis.srem(:queues, @name)
8889
end
8990

9091
private

test/redis_queue_test.rb

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,15 @@ def == other
8989
assert_equal ["foo"], Resque.queues
9090
end
9191

92+
it "cleans up after itself when destroyed" do
93+
queue = q
94+
queue << Thing.new
95+
q.destroy
96+
97+
assert_equal [], Resque.queues
98+
assert !Resque.redis.exists(queue.redis_name)
99+
end
100+
92101
def q
93102
Resque::Queue.new 'foo', Resque.redis
94103
end

0 commit comments

Comments
 (0)