我在Zeus自定义计划中有这样的东西,我在那里运行一些rake任务:
require 'zeus/rails'
class CustomPlan < Zeus::Rails
def rots
`bundle exec rots 1> log/rots.log &`
end
def stripe_mock
`bundle exec stripe-mock-server 1> log/stripe-mock-server.log &`
end
end
Zeus.plan = CustomPlan.new
和Zeus配置:
{
"command": "ruby -rubygems -r./custom_plan -eZeus.go",
"plan": {
"boot": {
"default_bundle": {
"development_environment": {
"prerake": {"rake": []},
"console": ["c"]
},
"test_environment": {
"test_helper": {"test": ["rspec"]}
}
},
"rots": {},
"stripe_mock": {}
}
}
}
我找到了这个链接:https://github.com/rails/spring#configuration,但我并不完全明白如何运行和停止我的自定义佣金任务。
我尝试这样的事情:
class CustomPlan
def initialize
`bundle exec rots 1> log/rots.log &`
`bundle exec stripe-mock-server 1> log/stripe-mock-server.log &`
end
end
CustomPlan.new
这样可行,但当我spring stop
停止弹出时,stripe-mock-server
没有关闭。
在春天运行和停止自定义耙是否是一个聪明的解决方案?
由于
答案 0 :(得分:0)
我现在提出的最佳解决方案:
# config/spring.rb
Spring.after_fork do
`killall -v -9 rots & bundle exec rots 1> log/rots.log &`
`killall -v -9 stripe-mock-server & bundle exec stripe-mock-server 1> log/stripe-mock-server.log &`
end
首先,如果存在,我会杀死所有rots
和stripe-mock-server
并再次运行它。如果您找到更好的解决方案,请告诉我发表评论。感谢。