summaryrefslogtreecommitdiff
path: root/queue/zset
diff options
context:
space:
mode:
Diffstat (limited to 'queue/zset')
-rwxr-xr-xqueue/zset/add.rb22
-rwxr-xr-xqueue/zset/run.rb38
2 files changed, 60 insertions, 0 deletions
diff --git a/queue/zset/add.rb b/queue/zset/add.rb
new file mode 100755
index 0000000..cd63503
--- /dev/null
+++ b/queue/zset/add.rb
@@ -0,0 +1,22 @@
+#!/usr/bin/ruby
+#
+# Add the same three tests over and over again.
+#
+#
+require "redis"
+
+@redis = Redis.new(:host => "127.0.0.1")
+
+
+x = []
+
+x.push( "http://example.com/ must run http otherwise 'fail'" )
+x.push( "1.2.3.4 must run ping otherwise 'fail'" )
+x.push( "https://steve.net/ must run https otherwise 'fail'" )
+
+
+for i in 0 .. 10
+ x.each do |test|
+ @redis.zadd('zset', Time.now.to_i, test)
+ end
+end
diff --git a/queue/zset/run.rb b/queue/zset/run.rb
new file mode 100755
index 0000000..726e19a
--- /dev/null
+++ b/queue/zset/run.rb
@@ -0,0 +1,38 @@
+#!/usr/bin/ruby
+
+require "redis"
+require 'pp'
+@redis = Redis.new(:host => "127.0.0.1")
+
+
+
+def fetch(timeout = 1)
+ job = nil
+
+ loop do
+ job = @redis.ZREVRANGE('zset', '0', '0')
+
+ if !job.empty?
+ # We only have one entry in our array
+ job = job[0]
+
+ # Remove from the queue
+ @redis.zrem('zset', job );
+
+ return job
+ else
+ sleep(timeout)
+ end
+
+ end
+end
+
+
+
+while( x = fetch() )
+ puts "Got job : #{x}"
+ if ( x =~ /ping/i )
+ puts "PING TEST - sleeping"
+ sleep 5
+ end
+end