Resque с Redis To Go не может работать как ожидание - PullRequest
0 голосов
/ 22 сентября 2011

Мне нужно использовать Resque , чтобы поставить в очередь мои задания на Heroku.

Поскольку я использую его впервые, я следую инструкции на этом сайте: Resque with Redis To Go .

Когда я запускаю команду: $ rake resque: work QUEUE = *

терминал показывает:

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

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

Я установил yajl-ruby и json gem после того, как получил ошибку; однако это не сработало.

Если я проигнорирую проблему и введу "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

Ответы [ 2 ]

1 голос
/ 22 сентября 2011

Вы все еще должны использовать / попробовать:

bundle exec rake resque:work QUEUE=*
0 голосов
/ 22 сентября 2011

Resque зависит от гема 'json', поэтому просто добавьте его в Gemfile:

gem 'json'

затем Bundler выбирает соответствующую версию для разрешения зависимостей

...