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 } endendEM.run do @redis = EM::Hiredis.connect readend解决方法 最好订阅redis pub / sub队列.
https://gist.github.com/957367
如果你真的需要一个循环,那么EM本身就是一个无限循环,你只需要使用next_tick一次又一次地安排你的工作:
def read d = @redis.blpop 'queue',value| EM.next_tick { read } end.errback do |e| EM.next_tick { read } end end总结
以上是内存溢出为你收集整理的ruby – 如何在eventmachine中实现无限循环全部内容,希望文章能够帮你解决ruby – 如何在eventmachine中实现无限循环所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)