如何在程序开始使用Ruby GOD gem之前运行系统命令
我用上帝来观察这个过程=>如何在程序开始使用Ruby GOD gem之前运行系统命令,ruby,god,Ruby,God,我用上帝来观察这个过程=>rake resque:scheduler 在运行“rake resque:scheduler”之前,我必须运行rake resque\u schedule:setup 但以下设置不起作用 我使用ps aux来列出进程,但调度程序没有按预期工作 它应该定期生成任务 如果我在shell中键入这两个命令,它就会工作 我不知道 God.watch do |w| system("rake resque_schedule:setup ") # run the rake t
rake resque:scheduler
在运行“rake resque:scheduler”之前,我必须运行rake resque\u schedule:setup
但以下设置不起作用
我使用ps aux来列出进程,但调度程序没有按预期工作
它应该定期生成任务
如果我在shell中键入这两个命令,它就会工作
我不知道
God.watch do |w|
system("rake resque_schedule:setup ") # run the rake to load environment
w.name = 'resque-scheduler'
w.interval = 5.seconds
w.dir = File.expand_path(File.join(File.dirname(__FILE__),'..'))
# w.start = "rake resque_schedule:setup ; rake resque:scheduler "
w.start = "rake resque:scheduler "
w.start_grace = 10.seconds
w.log = File.expand_path(File.join(File.dirname(__FILE__), '.','log','resque-scheduler.log'))
w.keepalive(:memory_max => 150.megabytes,
:cpu_max => 50.percent)
end
您应该在
god.start
调用之前调用rake resque\u schedule:setup
例如:
system("rake resque_schedule:setup")
god.start
在我终止进程之前调用系统命令时,它是否仍然有效?你的意思是。。您想在god进程被终止时终止
resque\u schedule:setup
?否。god监视rake resque:scheduler
。如果我杀死rake resque:scheduler
的pid。上帝会在重新启动前运行“系统”(“rake resque\u schedule:setup”)`吗rake resque:scheduler
。我想如果block,你必须在w.start\u中运行。你能试试这个(将两个命令合并在一个命令中):w.start=“rake resque\u schedule:setup;rake resque:scheduler”
为什么system
命令?如果您想加载环境,可以通过类似于rake-environment-resque:scheduler