作为守护进程运行守卫

时间:2014-01-02 05:44:41

标签: ruby-on-rails daemon guard

我正在使用guard来监视目录,只要文件上传到目录Guard就会触发rake进程。

有没有办法将Guard作为守护进程运行,无法在文档中的任何位置找到。

3 个答案:

答案 0 :(得分:4)

Guard没有内置选项作为守护程序运行,但您可以使用nohupampersand在后台运行它:

nohup guard &

在后台运行不应该向控制台打印任何东西,所以我会重定向流:

nohup guard >/dev/null 2>&1 &

在这种情况下,我建议停用代理,并在Guardfile中使用文件记录:

interactor :off
logger device: 'guard.log'

答案 1 :(得分:2)

如果我正确理解您的问题,即将守卫视为守护进程,您可以daemonguard提供guard 'rails', daemon: true do watch(...) ... end 选项:

{{1}}

参考其他guard options

答案 2 :(得分:0)

您应该查看文档to start guard programmatically on Rails;)

简而言之,为Guard创建一个包含以下内容的初始值设定项:

require 'guard'
require 'guard/commander' # needed because of https://github.com/guard/guard/issues/793

# Start Guard only with rails.
if File.basename($0, '.*') == 'rails'
  fork do
    if __FILE__ == '(irb)'
    end

    Guard.guards 'sass'
    Guard.start :no_interactions => true
  end
end