summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/custodian-queue13
-rw-r--r--lib/custodian/queue.rb19
2 files changed, 19 insertions, 13 deletions
diff --git a/bin/custodian-queue b/bin/custodian-queue
index 01fb381..978cbda 100755
--- a/bin/custodian-queue
+++ b/bin/custodian-queue
@@ -159,18 +159,7 @@ if __FILE__ == $0 then
# Are we flushing the queue?
#
if ( $FLUSH )
- count = 0
- run = true
- while( run )
- begin
- job = queue.fetch(1)
- exit(0) if ( job.nil? )
- count += 1
- rescue Beanstalk::TimedOut => ex
- puts "Flushed #{count} pending jobs."
- exit( 0 )
- end
- end
+ queue.flush!
end
diff --git a/lib/custodian/queue.rb b/lib/custodian/queue.rb
index 8d48575..d3513c3 100644
--- a/lib/custodian/queue.rb
+++ b/lib/custodian/queue.rb
@@ -58,7 +58,13 @@ module Custodian
raise "Subclasses must implement this method!"
end
- end
+ #
+ # Empty the queue
+ #
+ def flush!()
+ raise "Subclasses must implement this method!"
+ end
+end
@@ -103,6 +109,11 @@ module Custodian
def size?
@redis.llen( "queue" )
end
+
+ def flush!
+ @redis.del( "queue" )
+ end
+
end
@@ -157,6 +168,12 @@ module Custodian
( stats['current-jobs-ready'] || 0 )
end
+ def flush!
+
+ while( fetch(1) )
+ # nop
+ end
+ end
end
end