2011-09-22 67 views
0

我需要使用Resque才能将作业排入Heroku。使用Redis进行Resque To Go无法按预期工作

由于这是我第一次使用它,我跟随在本网站的指令:Resque with Redis To Go

当我运行命令: $耙resque:工作队列= *

终端显示:

rake aborted! 
Please install the yajl-ruby or json gem 

(See full trace by running task with --trace) 

我已经安装了yajl,红宝石和JSON宝石,我得到了错误之后;但是,它没有工作。

如果我忽略了问题并输入“rails s”来启动服务器。 它显示:

/Library/Ruby/Gems/1.8/gems/resque-1.19.0/lib/resque/helpers.rb:6: Please install the yajl-ruby or json gem (RuntimeError) 
from /Library/Ruby/Gems/1.8/gems/resque-1.19.0/lib/resque.rb:10:in `require' 
from /Library/Ruby/Gems/1.8/gems/resque-1.19.0/lib/resque.rb:10 
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.18/lib/bundler/runtime.rb:68:in `require' 
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.18/lib/bundler/runtime.rb:68:in `require' 
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.18/lib/bundler/runtime.rb:66:in `each' 
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.18/lib/bundler/runtime.rb:66:in `require' 
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.18/lib/bundler/runtime.rb:55:in `each' 
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.18/lib/bundler/runtime.rb:55:in `require' 
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.18/lib/bundler.rb:120:in `require' 
from /Users/Brian/Documents/cookie-monster/config/application.rb:7 
from /Library/Ruby/Gems/1.8/gems/railties-3.0.5/lib/rails/commands.rb:28:in `require' 
from /Library/Ruby/Gems/1.8/gems/railties-3.0.5/lib/rails/commands.rb:28 
from /Library/Ruby/Gems/1.8/gems/railties-3.0.5/lib/rails/commands.rb:27:in `tap' 
from /Library/Ruby/Gems/1.8/gems/railties-3.0.5/lib/rails/commands.rb:27 
from script/rails:6:in `require' 
from script/rails:6 

我想这是我的环境的问题,但我不知道如何解决它。

请帮助我,谢谢!


mikhailov让我粘贴我的Gemfile和Gemfile.lock。 那就是: 的Gemfile:

source 'http://rubygems.org' 

gem 'rails', '3.0.5' 
gem 'sqlite3-ruby', :require => 'sqlite3' 
gem 'redis' 
gem 'SystemTimer' 

Gemfile.lock的:

GEM 
    remote: http://rubygems.org/ 
    specs: 
    abstract (1.0.0) 
    actionmailer (3.0.5) 
     actionpack (= 3.0.5) 
     mail (~> 2.2.15) 
    actionpack (3.0.5) 
     activemodel (= 3.0.5) 
     activesupport (= 3.0.5) 
     builder (~> 2.1.2) 
     erubis (~> 2.6.6) 
     i18n (~> 0.4) 
     rack (~> 1.2.1) 
     rack-mount (~> 0.6.13) 
     rack-test (~> 0.5.7) 
     tzinfo (~> 0.3.23) 
    activemodel (3.0.5) 
     activesupport (= 3.0.5) 
     builder (~> 2.1.2) 
     i18n (~> 0.4) 
    activerecord (3.0.5) 
     activemodel (= 3.0.5) 
     activesupport (= 3.0.5) 
     arel (~> 2.0.2) 
     tzinfo (~> 0.3.23) 
    activeresource (3.0.5) 
     activemodel (= 3.0.5) 
     activesupport (= 3.0.5) 
    activesupport (3.0.5) 
    arel (2.0.9) 
    builder (2.1.2) 
    erubis (2.6.6) 
     abstract (>= 1.0.0) 
    i18n (0.5.0) 
    mail (2.2.15) 
     activesupport (>= 2.3.6) 
     i18n (>= 0.4.0) 
     mime-types (~> 1.16) 
     treetop (~> 1.4.8) 
    mime-types (1.16) 
    polyglot (0.3.1) 
    rack (1.2.2) 
    rack-mount (0.6.14) 
     rack (>= 1.0.0) 
    rack-test (0.5.7) 
     rack (>= 1.0) 
    rails (3.0.5) 
     actionmailer (= 3.0.5) 
     actionpack (= 3.0.5) 
     activerecord (= 3.0.5) 
     activeresource (= 3.0.5) 
     activesupport (= 3.0.5) 
     bundler (~> 1.0) 
     railties (= 3.0.5) 
    railties (3.0.5) 
     actionpack (= 3.0.5) 
     activesupport (= 3.0.5) 
     rake (>= 0.8.7) 
     thor (~> 0.14.4) 
    rake (0.9.2) 
    redis (2.2.2) 
    sqlite3-ruby (1.2.4) 
    thor (0.14.6) 
    treetop (1.4.9) 
     polyglot (>= 0.3.1) 
    tzinfo (0.3.25) 

PLATFORMS 
    ruby 

DEPENDENCIES 
    rails (= 3.0.5) 
    redis 
    sqlite3-ruby 
+0

复制粘贴**的Gemfile **和** ** Gemfile.lock的Gemfile中 – Anatoly

+0

: 源 'http://rubygems.org' 宝石“轨, '3.0.5' 宝石 '的sqlite3-红宝石',:需要=> 'sqlite3的' 宝石 'redis的' 宝石 'SystemTimer' – Brian

回答

0

Resque对 'json的' 宝石依赖,所以只需将其添加到的Gemfile:

gem 'json' 

然后捆扎机挑选合适的版本来解决依赖

1

你还是应该使用/尝试:

bundle exec rake resque:work QUEUE=*