首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过drb服务器与acts_as_ferret通信的delayed_job导致关闭流错误

通过drb服务器与acts_as_ferret通信的delayed_job导致关闭流错误
EN

Stack Overflow用户
提问于 2009-11-11 21:46:53
回答 2查看 416关注 0票数 2

我正在使用delayed_job处理一些文件,然后使用结果创建一些活动记录对象。活动记录对象被作为drb服务器运行的acts_as_ferret索引。当delayed_job处理作业时,一切都很正常,直到活动记录尝试通过drb服务器与ferret交谈。

堆栈跟踪在这里:http://pastie.org/693588

无论是通过控制台还是在没有delayed_job的情况下,都可以成功调用相同的进程。我的猜测是,由于某些原因,可能与权限相关,delayed_job没有能力与drb服务器通信,但不确定。知道是怎么回事吗?

EN

回答 2

Stack Overflow用户

发布于 2009-12-01 18:30:08

哇-我在11月5日发布了同样的问题。所以,至少我肯定是在正确的轨道上!:)

DelayedJob with acts_as_ferret in production mode

为了帮助给这个问题提供更多的上下文:-没有我写的特殊代码。所有的模型都有

代码语言:javascript
复制
acts_as_ferret :remote => true

ferret_server初始化器和往常一样:

代码语言:javascript
复制
$ cat config/ferret_server.yml 
# configuration for the acts_as_ferret DRb server
# host: where to reach the DRb server (used by application processes to contact the server)
# port: which port the server should listen on
# pid_file: location of the server's pid file (relative to RAILS_ROOT)
# log_file: log file (default: RAILS_ROOT/log/ferret_server.log
# log_level: log level for the server's logger
production:
  host: localhost
  port: 9010
  pid_file: log/ferret.pid
  log_file: log/ferret_server.log
  log_level: warn

我可以运行其他不修改记录但收集数据的delayed_job --所以delayed_job可以工作。这是我的delayed_job生成器:

代码语言:javascript
复制
$ cat script/delayed_job 
#!/usr/bin/env ruby

ENV['RAILS_ENV'] = 'production'
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'config', 'environment'))
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'config', 'boot'))
require 'delayed/command'

Delayed::Command.new(ARGV).daemonize
票数 1
EN

Stack Overflow用户

发布于 2009-11-17 03:21:04

同意评论者的意见,发布一些代码!:-)

然而,从代码的角度来看,很难找出哪里出了问题。DJ如何或为什么与用于用户搜索的drb服务器对话?它正在重新启动它吗?AAF负责对每个请求进行索引,所以如果您在后台处理某些作业,这对数据库中的索引有何影响?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1715268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档