我对 GOD 文档很少感到困惑
首先我的配置脚本看起来像这样
DIRECTORY = "/Users/joshianiket22/myProject/god_script"
God.pid_file_directory = DIRECTORY
God.watch do |w|
w.name = "mess"
w.start = "ruby /Users/joshianiket22/myProject/god_script/simple.rb"
w.pid_file = File.join(DIRECTORY,'simple.pid')
puts File.join(DIRECTORY,'simple.pid')
w.stop = "ruby -e 'puts \"#{DateTime.now}\"'"
w.log = File.join(DIRECTORY,'god.log')
w.behavior(:clean_pid_file)
w.interval = 10.seconds
w.start_if do |start|
start.condition(:process_running) do |c|
puts "Inside start condition"
c.interval = 5.seconds
c.running = false
end
end
end
困惑1:GOD PID FILE DILEMMA
在 GOD 文档中提到
现在我很清楚我已经设置了pid_file和pid_file_directory但在我的配置中定义的那个目录中找不到 PID
仅供参考,启动 GOD 时sudo
假设目录可以被 GOD 写入
困惑2: START_IF CONDITION
现在,如何定义 start_if 条件现在我无法理解这个用例。还字条件什么条件来设置条件
- :process_running 是一组条件吗?如果是,start_if的其他条件是什么
还有do 块内的属性应该做什么?他们什么时候被处决?
更准确地说,我指的是 c.running = false (它在内部做什么以及 start_if上可用的其他属性列表)
混乱3(启动/停止/重启命令)
现在给定我的配置文件,其中写入了启动命令,现在是否还需要在配置中编写停止和重新启动命令
这样当运行以下
sudo 上帝停止混乱
sudo 上帝重新启动混乱
他们会被处决
假设我不写它们
如果运行它们会发生什么?
当执行停止命令即 sudo god restart mess` 时,GOD 最终会杀死正在运行的进程
sudo god stop mess' is executed? or restart the running process when restart command i.e
吗?
任何人都可以分享它的光
困惑4(是否守护进程):
根据 GOD 文档
现在考虑我通过进程明确地将 GOD 内部的背景放在类似
w.start = "ruby /Users/joshianiket22/myProject/god_script/simple.rb &"
在这种情况下会发生什么
- 上帝会监视他们的停止和重新启动命令吗?
因此,假设 GOD 知道该进程已进入后台并且在针对 GOD 运行时对该进程上的所有命令启动/停止/重新启动命令做出反应,那么在 GOD 中(在启动命令中)守护进程可以被认为是一种有效的方法?
喜欢
sudo 上帝停止混乱
sudo 上帝重新启动混乱
任何人都可以对此有所了解吗
所以这里是从上面提取的问题列表
为什么 pid_file_directory 语法不起作用?
if :process_running 是一组条件start_if包含的其他条件还包含 c.running = false (内部执行)
是否有必要编写/定义
stop
并restart
在上帝配置中如果进程明确地移到后台,上帝仍然会监视它以获取诸如
stop|restart
等之类的命令