Ruby on rails 3 在没有运行redis副本的情况下,Resque workers是否可以运行?

Ruby on rails 3 在没有运行redis副本的情况下,Resque workers是否可以运行?,ruby-on-rails-3,resque,Ruby On Rails 3,Resque,我从以下方面开始工作: rake environment resque:work RAILS_ENV=development VVERBOSE=1 QUEUE=* LOGFILE=/Users/matteo/workspace/APP/log/resque.log --trace 我得到输出: ** Invoke environment (first_time) ** Execute environment ** Invoke resque:work (first_time) ** Invok

我从以下方面开始工作:

rake environment resque:work RAILS_ENV=development VVERBOSE=1 QUEUE=* LOGFILE=/Users/matteo/workspace/APP/log/resque.log --trace
我得到输出:

** Invoke environment (first_time)
** Execute environment
** Invoke resque:work (first_time)
** Invoke resque:preload (first_time)
** Invoke resque:setup (first_time)
** Execute resque:setup
** Execute resque:preload
** Invoke resque:setup 
** Execute resque:work
快速ps告诉我流程已启动并正在运行

现在我没有运行Redis的实例。一个快速的
ps auxww | grep redis服务器
证实了这一点

工人不应该失败吗

我下载了resque代码,并在worker.rb中的resque代码中设置了一个断点:

(rdb:1) eval redis
#<Redis::Namespace:0x007f868cb57880 @namespace=:resque, @redis=#<Redis client v2.2.2 connected to redis://127.0.0.1:6379/1 (Redis v0.07)>>
(rdb:1)评估redis
#
这个端口上怎么可能没有运行任何东西?
感谢您的帮助

Resque确实需要redis才能工作,尽管您的队列可能已启动,但如果没有redis,它将无法处理

您可以在启动服务器后转到此url来查看队列的状态

http://localhost:3000/resque/overview
也就是说,如果您的GEM文件中有以下内容

gem 'resque', :require => "resque/server"
或者,如果您没有该安装程序,请在控制台
resque web
中运行该程序,以便在
localhost:3000/overview

如果您没有收到错误,并且可以在没有redis错误的情况下访问该页面,那么redis必须在某个地方运行,可能是作为启动时的服务

有关基本的redis/resque设置,请参见此处-

答案是:“不,没有redis运行副本,工人无法运行”

这个问题是由伪造的宝石引起的。即使开发环境中没有包含gem,开发人员也需要“redis/connction/memory”,因此需要使用fakeredis实例