ruby-on-rails-3 - 尝试在 rake 任务中启动 redis 和 resque 调度程序

标签 ruby-on-rails-3 redis resque

我想从 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/

相关文章:

ruby - 如何使用有效? rails 3中数组的方法

ruby-on-rails - 如何在同一个 cookie 中存储多个值 - Rails

jquery - Rails3 Rails.js 和 jquery 捕获ajax请求的成功和失败

java - 使用Jedis的Redis中单个键占用的内存?

ruby - 是否可以将参数传递给(resque-status)Resque::JobWithStatus?

ruby-on-rails - 排除事件关系中的条件,如何?

Redis 哈希与 key 层次结构

c# - .NET Core 在另一个单例服务中注入(inject)单例服务

Ruby 应用程序和 Resque : can't start workers

ruby-on-rails - 用于定期作业调度的工具/库(例如轮询网页)