我想从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启动并运行后,必须启动调度程序。
类似于神经膜。如果redis尚未运行并接受连接,那么resque worker将失败/退出。
请查看此要点,以获取有关如何从monit(Linux东西)开始的示例。
Monit允许一项服务依赖于另一项服务,并通过监视.pid文件来确保它们保持活动状态。