1

多年来,我们一直在 rails 2.2.2 应用程序中使用 ferret,它很好(有一些怪癖)。

但是,现在,每当我尝试在本地使用它时,它都会死掉。我可以启动它,然后一旦 Rails(在我的本地服务器或控制台中)尝试进行雪貂搜索,雪貂服务器就会消失。

我能得到的唯一反馈来自log/acts_as_ferret.log,其中有:

Will use remote index server which should be available at druby://localhost:9010
[user] DRb connection error: connection closed
[digilearning_support_file] DRb connection error: druby://localhost:9010 - #<Errno::ECONNREFUSED: Connection refused - connect(2)>
[asset] DRb connection error: druby://localhost:9010 - #<Errno::ECONNREFUSED: Connection refused - connect(2)>
[cmw_step_resource] DRb connection error: druby://localhost:9010 - #<Errno::ECONNREFUSED: Connection refused - connect(2)>
/home/max/work/charanga/elearn_container/elearn/vendor/plugins/acts_as_ferret/lib/acts_as_ferret.rb:354 ###index_for [DigilearningTitle(id: integer, name: string, description: text, created_at: datetime, updated_at: datetime, folder_name: string, user_id: integer, summary: text, disk_space_in_megabytes: float, top_level_live_content: boolean, live_content: boolean)]
/home/max/work/charanga/elearn_container/elearn/vendor/plugins/acts_as_ferret/lib/acts_as_ferret.rb:338 ###options: {:offset=>nil, :limit=>nil}
ar_options: {}
[digilearning_title] DRb connection error: druby://localhost:9010 - #<Errno::ECONNREFUSED: Connection refused - connect(2)>
[digilearning_title] /home/max/work/charanga/elearn_container/elearn/vendor/plugins/acts_as_ferret/lib/ferret_find_methods.rb:42 ### now retrieving records from AR: id_arrays = {}, options: {}
[digilearning_title] /home/max/work/charanga/elearn_container/elearn/vendor/plugins/acts_as_ferret/lib/ferret_find_methods.rb:43 ### total_ids in id_arrays = 0 (uniq version of this is 0
/home/max/work/charanga/elearn_container/elearn/vendor/plugins/acts_as_ferret/lib/acts_as_ferret.rb:440 ### find_options = {}
[digilearning_title] /home/max/work/charanga/elearn_container/elearn/vendor/plugins/acts_as_ferret/lib/ferret_find_methods.rb:45 ###0 results from AR
[digilearning_title] /home/max/work/charanga/elearn_container/elearn/vendor/plugins/acts_as_ferret/lib/ferret_find_methods.rb:69 ### total_hits = 0
/home/max/work/charanga/elearn_container/elearn/vendor/plugins/acts_as_ferret/lib/acts_as_ferret.rb:341 ###Query: "Music"
total hits: 0, results delivered: 0

在我启动它之后,我可以看到ps它正在运行。但是当我启动rails控制台时,雪貂死了。我从 ferret 开始script/ferret_server start,而这又只需要一个文件:

#!/usr/bin/env ruby

begin
  require File.join(File.dirname(__FILE__), '../vendor/plugins/acts_as_ferret/lib/server_manager')
rescue LoadError
  puts "Got a LoadError"
  # try the gem
  require 'rubygems'
  gem 'acts_as_ferret'
  require 'server_manager'
end

它没有输出任何内容,因此在尝试要求该文件时不会出现异常。

我无法理解是什么突然使它像这样失败,尽管我一直在对其中一个模型的索引内容进行一些更改。我可以恢复这些更改,但问题并没有消失。

我不知道如何调试这个......有人可以帮忙吗?谢谢

编辑:我尝试删除我的索引/开发文件夹的所有内容,认为那里可能有一些奇怪的东西,但它没有帮助。

4

0 回答 0