在ruby中启动一个监听器

时间:2014-05-21 16:42:15

标签: ruby listener

我正在尝试在ruby中实现一个监听器,我正在使用这段代码:

get '/listener' do
 rd = Round.where(_id: '****').first
 rd.listener
 redirect '/'
end

我在Round类上有一个监听器方法:

def listener
listener = Listen.to('/folder1/folder2', :filter => /\.rb$/, :ignore => %r{ignored/path/}) do |modified, added, removed|
  puts 'message here'
end
listener.start 
end

这个代码在我调用/ listener地址的前几次工作正常,它启动我的监听器,每次我修改,添加或删除folder1 / folder2中的文件时,我都会看到该消息。 现在,当我在侦听器方法上调用listener.start时调用/ listener地址时,相同的代码会停止我的ruby服务器。并且没有错误显示,它只是停止我的应用程序。 我读到在listener.start之后添加一个“sleep”可能是一个解决方案,但我已经尝试过了,并且我得到了相同的结果。

0 个答案:

没有答案