Я создаю своего рода веб-сканер, и когда я использую 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
read_reply»
/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: в rget 'anemone
(0.5.0) lib / anemone / storage / redis.rb: 41: анемон Inach (0.5.0)
lib / anemone / storage / redis.rb: 40: в каждом анемоне (0.5.0)
lib / anemone / storage / redis.rb: 57: анемона анкисиса (0.5.0)
lib / anemone / storage / redis.rb: 12: инициализация анемона (0.5.0)
lib / anemone / storage.rb: 30: innew 'anemone (0.5.0)
lib / anemone / storage.rb: 30: в Redis '
приложение / контроллеры / processpages_controller.rb: 332: incrawlnewsite '
Результаты монитора Redis:
+ 1297028372.281985 "ключи" "анемона: страницы: *"
версия / окружающая среда:
redis: пробовал версию 2, а 2.0.4 - тоже самое
проблема либо версия
рельсы. 2.3.8, рубин 1.8.7 патч 174
ОС: Centos 5
redis - порт по умолчанию 6379
hostgator vps / панель управления x
установленные драгоценные камни
анемон 0.5.0 и зависимости (noko и т.д ..)
Redis Gem (2.1.1)
redis-name-space (0.8.0)
код
требуется 'анемон'
требуется 'redis'
требуется 'redis-namespace'
Anemone.crawl (домашняя страница) do | anemone |
anemone.storage = Anemone :: Storage.Redis
anemone.on_every_page do | page |
... тонн кода
конец
конфиг / redis.yml
по умолчанию: & по умолчанию
хост: локальный порт: 6379
развитие:
<<: * по умолчанию </p>
тест:
<<: * по умолчанию </p>
постановка:
<<: * по умолчанию </p>
Производство:
<<: * по умолчанию </p>