我想从 rake 任务启动 redis 和 redis-scheduler,所以我正在执行以下操作:
namespace :raketask do
task :start do
system("QUEUE=* rake resque:work &")
system("rake redis:start")
system("rake resque:scheduler")
end
end
问题是 redis 在前台启动,然后它永远不会启动调度程序。如果它不会在后台启动(使用 &)。调度程序必须在 redis 启动并运行后启动。
最佳答案
类似于 nirvdrum。如果 redis 尚未运行并接受连接,则 resque worker 将失败/退出。
查看此要点以获取有关如何 get things started with monit 的示例(Linux 的东西)。
Monit 允许一项服务依赖于另一项服务,并通过监视 .pid 文件确保它们保持事件状态。
关于ruby-on-rails-3 - 尝试在 rake 任务中启动 redis 和 resque 调度程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5316054/