resque-web无法启动500服务器错误

时间:2023-02-08 18:22:00

I'm following the configuration guidelines for installing resque. I'm met with a (OpenURI::HTTPError). I'm using RVM 1.9.2-p180, rails 3.0.6, and POW.'resque-web' fails to start with a 500 Server Error. What the heck is going on here?

我正在遵循安装resque的配置指南。我遇到了一个(OpenURI :: HTTPError)。我正在使用RVM 1.9.2-p180,rails 3.0.6和POW.'resque-web'无法启动500服务器错误。到底发生了什么事?

To replicate problem:

要复制问题:

  1. Start redis with $ redis-server
  2. 使用$ redis-server启动redis

  3. Start a worker with $ VVERBOSE=1 QUEUE=file_serve rake environment resque:work
  4. 使用$ VVERBOSE = 1 QUEUE = file_serve rake environment resque:work启动一个worker

  5. Try to start Resque-Web with: RAILS_ENV=development resque-web config/initializers/resque.rb
  6. 尝试使用以下命令启动Resque-Web:RAILS_ENV = development resque-web config / initializers / resque.rb

config/resque.yml

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

initializers/resque.rb:

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

require 'resque'
# require 'yaml'

unless defined?($redis)
  $redis = Redis.new($redis = Redis.new(:host => 'localhost', :port => 6379))
end

Resque.redis = $redis

Terminal:

     master ~/projects/MyApp $ RAILS_ENV=development resque-web config/initializers/resque.rb
[2011-05-20 11:42:48 -0700] Starting 'resque-web'...
/Users/boris/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/open-uri.rb:346:in `open_http': 500 Internal Server Error  (OpenURI::HTTPError)
    from /Users/boris/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/open-uri.rb:769:in `buffer_open'
    from /Users/boris/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/open-uri.rb:203:in `block in open_loop'
    from /Users/boris/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/open-uri.rb:201:in `catch'
    from /Users/boris/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/open-uri.rb:201:in `open_loop'
    from /Users/boris/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/open-uri.rb:146:in `open_uri'
    from /Users/boris/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/open-uri.rb:671:in `open'
    from /Users/boris/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/open-uri.rb:33:in `open'
    from /Users/boris/.rvm/gems/ruby-1.9.2-p180/gems/vegas-0.1.8/lib/vegas/runner.rb:142:in `port_open?'
    from /Users/boris/.rvm/gems/ruby-1.9.2-p180/gems/vegas-0.1.8/lib/vegas/runner.rb:159:in `check_for_running'
    from /Users/boris/.rvm/gems/ruby-1.9.2-p180/gems/vegas-0.1.8/lib/vegas/runner.rb:104:in `start'
    from /Users/boris/.rvm/gems/ruby-1.9.2-p180/gems/vegas-0.1.8/lib/vegas/runner.rb:77: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.

Redis-server(当我点击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.

Initializers/redis.rb

$redis = Redis.new(:host => 'localhost', :port => 6379)

Terminal: (proof of $redis)

终端:( $ redis证明)

> $redis
#<Redis client v2.2.0 connected to redis://localhost:6379/0 (Redis v2.2.5)>
ruby-1.9.2-p180 :003 > $redis.set('pepper', 'bacon')   #=> "OK"
ruby-1.9.2-p180 :004 > $redis.get('pepper')   #=> "bacon"

1 个解决方案

#1


3  

You have:

$redis = Redis.new($redis = Redis.new(:host => 'localhost', :port => 6379))

Try just doing:

试着做:

$redis = Redis.new(:host => 'localhost', :port => 6379)

#1


3  

You have:

$redis = Redis.new($redis = Redis.new(:host => 'localhost', :port => 6379))

Try just doing:

试着做:

$redis = Redis.new(:host => 'localhost', :port => 6379)