首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Resque workers可以在没有redis副本的情况下运行吗?

Resque workers可以在没有redis副本的情况下运行吗?
EN

Stack Overflow用户
提问于 2012-09-20 12:11:39
回答 2查看 710关注 0票数 1

我用以下命令启动一个工人:

代码语言:javascript
复制
rake environment resque:work RAILS_ENV=development VVERBOSE=1 QUEUE=* LOGFILE=/Users/matteo/workspace/APP/log/resque.log --trace

我得到了输出:

代码语言:javascript
复制
** 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 auxwwww | grep redis-server证实了这一点。

工人不应该失败吗?

我下载了resque代码,并在worker.rb中的resque代码中添加了断点:

代码语言:javascript
复制
(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)>>

怎么会没有任何东西在该端口上运行?谢谢你的帮助

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-28 06:07:44

答案是:“不,工作人员不能在没有Redis副本的情况下运行”。

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

票数 2
EN

Stack Overflow用户

发布于 2012-09-28 05:07:39

Resque确实需要redis才能工作,尽管看起来你的队列已经满了,但如果没有redis,它将无法处理。

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

代码语言:javascript
复制
http://localhost:3000/resque/overview

这是如果您的gemfile中包含以下内容的话

代码语言:javascript
复制
gem 'resque', :require => "resque/server"

或者,如果您没有该设置,请在控制台resque-web中运行此命令以获得可通过localhost:3000/overview访问的管理界面

如果您没有收到错误,并且可以访问该页面而不出现redis错误,那么redis一定在某个地方运行,也许是作为启动时的一个服务?

有关基本的redis/resque设置,请参阅此处- http://railscasts.com/episodes/271-resque?view=asciicast

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12505955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档