Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require "rubygems"
- require "sinatra/base"
- require "sinatra/async"
- require "redis"
- module CometTest
- class App < Sinatra::Base
- register Sinatra::Async
- puts ">> #{REDIS = Redis.new(:thread_safe => true)}"
- aget "/get/:key" do |key|
- n = 0
- timer = EM::PeriodicTimer.new(0) do
- puts "checking #{key}"
- val = REDIS.brpop key, 1
- puts val.inspect
- timer.cancel and body val.inspect.to_s if val
- timer.cancel and body "timeout" if (n+=1) > 25
- end
- end
- end
- end
- puts "DONE"
Add Comment
Please, Sign In to add comment