Need help configuring a Redis-backed library on Ru

2019-09-04 13:33发布

问题:

I'm following the configuration guidelines for installing resque. I'm met with a (LoadError). I'm using RVM 1.9.2-p180, rails 3.0.6, and POW. This is probably an issue with my load path being totally wrong. So here is some extra info:

 master ~/projects/chaggregator $ which rails
/Users/boris/.rvm/gems/ruby-1.9.2-p180/bin/rails
 master ~/projects/chaggregator $ which ruby
/Users/boris/.rvm/rubies/ruby-1.9.2-p180/bin/ruby
 master ~/projects/chaggregator $ whereis ruby
/usr/bin/ruby
 master ~/projects/chaggregator $ whereis rails
/usr/bin/rails

config/resque.yml

development: localhost:6379
test: localhost:6379
staging: 
fi: localhost:6379
production: 

initializers/resque.rb:

rails_root = ENV['RAILS_ROOT'] || File.dirname(__FILE__) + '/../..'
rails_env = ENV['RAILS_ENV'] || 'development'

resque_config = YAML.load_file(rails_root + '/config/resque.yml')
Resque.redis = resque_config[rails_env] 

Terminal:

~ $ cd projects/MyApp/
 master ~/projects/MyApp $ RAILS_ENV=production resque-web rails_root/config/initializers/resque.rb
/Users/boris/.rvm/gems/ruby-1.9.2-p180/gems/resque-1.16.1/bin/resque-web:16:in `load': no such file to load -- rails_root/config/initializers/resque.rb (LoadError)
    from /Users/boris/.rvm/gems/ruby-1.9.2-p180/gems/resque-1.16.1/bin/resque-web:16:in `block in <top (required)>'
    from /Users/boris/.rvm/gems/ruby-1.9.2-p180/gems/vegas-0.1.8/lib/vegas/runner.rb:54:in `call'
    from /Users/boris/.rvm/gems/ruby-1.9.2-p180/gems/vegas-0.1.8/lib/vegas/runner.rb:54:in `initialize'
    from /Users/boris/.rvm/gems/ruby-1.9.2-p180/gems/resque-1.16.1/bin/resque-web:13:in `new'
    from /Users/boris/.rvm/gems/ruby-1.9.2-p180/gems/resque-1.16.1/bin/resque-web:13:in `<top (required)>'
    from /Users/boris/.rvm/gems/ruby-1.9.2-p180/bin/resque-web:19:in `load'
    from /Users/boris/.rvm/gems/ruby-1.9.2-p180/bin/resque-web:19:in `<main>'

Redis-server (I am connecting an extra client when I hit localhost:6379.

[33324] 20 May 11:02:08 - 1 clients connected (0 slaves), 932400 bytes in use
[33324] 20 May 11:02:12 - Accepted 127.0.0.1:53028
[33324] 20 May 11:02:13 - DB 0: 7 keys (0 volatile) in 8 slots HT.
[33324] 20 May 11:02:13 - 2 clients connected (0 slaves), 942976 bytes in use
[33324] 20 May 11:02:18 - DB 0: 7 keys (0 volatile) in 8 slots HT.

回答1:

You can't use rails_root in the command line:

 master ~/projects/MyApp $ RAILS_ENV=production resque-web rails_root/config/initializers/resque.rb

try:

RAILS_ENV=production resque-web config/initializers/resque.rb