我想从耙式任务开始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工人将失败/退出。

查看此要点,以获取如何 从MONIT开始工作 (Linux东西)。

MONIT允许一项服务依赖另一个服务,并确保通过监视.pid文件来保持生命。

其他提示

这使我感到不好。您应该让Redis服务器通过初始脚本或其他内容启动。但是,如果您真的想这样做,则可能需要修改您的redis:启动任务以使用NOHUP和背景过程,以便您可以从TTY中断开连接并保持过程运行。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top