backgroundrb thread_pool.defer方法记录器输出到哪里?

时间:2008-11-27 10:53:58

标签: ruby-on-rails ruby logging threadpool backgroundrb

似乎由于线程问题logger.warn(这就是我测试过的)不会产生任何输出?我的代码与此类似:

def deliver(args)
  logger.info "delivery start"
  thread_pool.defer(:deliver_deferred, args)
  logger.info "delivery end"
end

def deliver_deferred(args)
  logger.warn "whatsoever"
end

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我不确定具体细节,但假设BackgrounDRb作为分叉进程运行,任何打开的文件都将为分叉子进程关闭。这可能表现为你所看到的。

但是,我会假设BackgrounDRb足够聪明,可以解决这个问题,因为它应该是一个非常明显的问题。