【问题标题】:Ruby on Rails: Anemone and Redis issuesRuby on Rails:Anemone 和 Redis 问题
【发布时间】:2011-06-22 10:28:17
【问题描述】:

我正在创建一个网络爬虫,当我使用没有存储空间的 Anemone 来爬取网站时,它最终由于内存问题而崩溃。

所以我安装了 Redis、redis-rb 等,并更改了我的代码以使用 redis 存储。现在我从 rails 收到一个错误,它没有完成爬网。它确实连接到 redis,因为我在监视它时可以看到活动,但它会停止爬网。

我确实测试了redis,它工作正常......

有什么想法吗???

错误

RuntimeError(-ERR 'hgetall' 命令的参数数量错误): /usr/lib/ruby/gems/1.8/gems/ezmobius-redis-rb-0.1/lib/redis.rb:274:in 阅读回复' /usr/lib/ruby/gems/1.8/gems/ezmobius-redis-rb-0.1/lib/redis.rb:198:inraw_call_command' /usr/lib/ruby/gems/1.8/gems/ezmobius-redis-rb-0.1/lib/redis.rb:196:in 地图' /usr/lib/ruby/gems/1.8/gems/ezmobius-redis-rb-0.1/lib/redis.rb:196:inraw_call_command' /usr/lib/ruby/gems/1.8/gems/ezmobius-redis-rb-0.1/lib/redis.rb:161:in call_command' /usr/lib/ruby/gems/1.8/gems/ezmobius-redis-rb-0.1/lib/redis.rb:151:inmethod_missing' anemone (0.5.0) lib/anemone/storage/redis.rb:82:in rget' anemone (0.5.0) lib/anemone/storage/redis.rb:41:ineach' 海葵 (0.5.0) lib/anemone/storage/redis.rb:40:in each' anemone (0.5.0) lib/anemone/storage/redis.rb:57:inkeys' 海葵 (0.5.0) lib/anemone/storage/redis.rb:12:in 初始化'海葵 (0.5.0) lib/anemone/storage.rb:30:innew' 海葵 (0.5.0) lib/anemone/storage.rb:30:in Redis' app/controllers/processpages_controller.rb:332:incrawlnewsite'

Redis 监控结果:

+1297028372.281985“钥匙”“海葵:页面:*”

版本/环境:

redis:尝试了版本 2 和 2.0.4 - 相同的 p 问题任何一个版本 铁轨。 2.3.8,红宝石1.8.7补丁174 操作系统:centos 5 redis - 默认端口 6379 hostgator vps / 控制面板 x

已安装的宝石

anemone 0.5.0 和依赖项(noko 等) redis 宝石 (2.1.1) redis 命名空间 (0.8.0)

代码

需要'海葵'

需要'redis'

需要“redis 命名空间”

Anemone.crawl(主页) 做 |anemone|

anemone.storage = Anemone::Storage.Redis

anemone.on_every_page 做 |page|

...大量代码

结束

config/redis.yml

默认值:&默认值 主机:本地主机端口:6379

发展:

测试:

分期:

生产:

【问题讨论】:

    标签: ruby-on-rails gem web-crawler redis


    【解决方案1】:

    你的问题是

    RuntimeError (-ERR wrong number of arguments for 'hgetall' command):
    

    在代码中的某处,您尝试调用“hgetall”,但未传递密钥或传递的参数过多。只需检查您的代码,找到调用该命令的位置,并传递正确的参数 # (1)

    http://redis.io/commands/hgetall

    【讨论】:

      猜你喜欢
      • 2011-06-22
      • 2015-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-30
      • 2017-10-26
      • 1970-01-01
      • 2016-02-23
      相关资源
      最近更新 更多