【问题标题】:resque no longer starts "Can't assign requested address - connect(2)"resque 不再启动“无法分配请求的地址 - connect(2)”
【发布时间】:2012-06-08 14:39:06
【问题描述】:

由于几天以来我无法开始 resque,我尝试通过各种方式调试此问题,但没有结果!有人知道解决方案吗?亲切的问候

这是来自以下的日志输出:

 bundle exec rake resque:start

日志:

bundle exec rake resque:start --trace
** Invoke resque:start (first_time)
** Invoke resque:workers:start (first_time)
** Execute resque:workers:start
rake aborted!
Can't assign requested address - connect(2)

Tasks: TOP => resque:work
(See full trace by running task with --trace)
*** Starting worker dev2.local:4323:critical,high,low
** [09:01:12 2012-06-15] 4323: Registered signals
** Invoke resque:scheduler:start (first_time)
** Execute resque:scheduler:start
rake aborted!
Can't assign requested address - connect(2)

Tasks: TOP => resque:scheduler
(See full trace by running task with --trace)
2012-06-15 21:01:20 Schedule empty! Set Resque.schedule
** Invoke resque:web:start (first_time)
** Execute resque:web:start
/Users/jordan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/open-uri.rb:346:in `open_http': 500 Internal Server Error (OpenURI::HTTPError)

我试过了:

  • 降级 redis
  • 升级redis
  • 降级 resque + 再次升级 resque 到最新版本
  • 重置所有配置文件并重试
  • 所有端口都是默认的,只是默认配置
  • 检查默认端口是否关闭
  • 看起来真实的 resque gem 代码试图弄清楚它到底发生在哪里

我完全停止了,因为 Resque 是我的应用程序不可或缺的一部分,请知道解决方案的任何人告诉我。

【问题讨论】:

  • 您是否检查过是否有其他应用程序正在使用该端口?例如,在 Linux 上,您可以使用 netstat -tlnp | grep 4323(最好以 root 身份)来执行此操作。
  • 在 OSX 上开发是的,该端口是免费的。 4323 是进程的PID。 redis的默认端口不知道是什么,被使用了。
  • 一般当两个应用程序使用一个本地服务器地址时会出现这种错误。
  • @chs thx 但我确实有 1 个 ruby​​ on rails 应用程序在本地运行
  • 出于好奇,您没有碰巧在您的路由文件中安装了 Resque...是吗?

标签: ruby-on-rails-3 connection redis ruby-on-rails-3.2 resque


【解决方案1】:

嗯……

看来,resque 1.8.2 和 red is 的较新版本之间似乎不兼容。就像@bknoles 建议的那样。

使用

gem 'resque', "~> 1.20.0"
gem 'resque-scheduler', :require => 'resque_scheduler'

在 gemfile 中修复了问题

【讨论】:

  • 它会产生冲突:resque 1.20.0 需要 redis
猜你喜欢
  • 2012-05-30
  • 1970-01-01
  • 2012-11-30
  • 1970-01-01
  • 2021-11-03
  • 2013-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多