redis キューを常に読み取る eventmachine の上に無限ループが必要です。以下は私のコードです。再帰はそれを行う正しい方法ですか?loop do
ループを試しましたが、そのように機能させることができませんでした。
require 'em-hiredis'
def read
d = @redis.blpop 'queue', 0
d.callback do |_, value|
p value
read
end.errback do |e|
p e
EM.next_tick { read }
end
end
EM.run do
@redis = EM::Hiredis.connect
read
end