【发布时间】:2016-01-15 23:00:35
【问题描述】:
我已经能够为单个 ruby 脚本运行单个上帝文件:
God.watch do |w|
w.name = "twilio"
w.start = "ruby ~/code/site/iron.io/twilio-listen.rb"
w.keepalive
end
但我有两个脚本,希望上帝看它们(twilio-listen.rb 和 slack-listen.rb)
我该怎么做?
【问题讨论】:
我已经能够为单个 ruby 脚本运行单个上帝文件:
God.watch do |w|
w.name = "twilio"
w.start = "ruby ~/code/site/iron.io/twilio-listen.rb"
w.keepalive
end
但我有两个脚本,希望上帝看它们(twilio-listen.rb 和 slack-listen.rb)
我该怎么做?
【问题讨论】:
您应该能够在同一个上帝配置文件中为两者指定手表。如果您需要一起停止或重新启动它们,您可能还想添加一个名为 listeners 的组。例如,
God.watch do |w|
w.name = "twilio"
w.group = "listeners"
w.start = "ruby ~/code/site/iron.io/twilio-listen.rb"
w.keepalive
end
God.watch do |w|
w.name = "slack"
w.group = "listeners"
w.start = "ruby ~/code/site/iron.io/slack-listen.rb"
w.keepalive
end
【讨论】:
bundle exec god -c simple.god 启动上帝。 shell_output.txt 显示两个手表都被拾取并用于启动、重新启动和停止脚本。如果您的配置仍然无法正常工作,请使用您的监视文件和配置文件更新问题,我会看看。 FWIW - 我正在使用最新版本的上帝:Version 0.13.7
:restart 到:up 的转换时调用的代码,一旦已知进程在重启后启动并运行,就会向侦听器发送一条消息。 God 'Advanced Configuration with Transitions and Events' wiki section 应该为您指明正确的方向。