backgroundrb thread_pool.defer выход метода регистрации куда идет? - PullRequest
2 голосов
/ 27 ноября 2008

Кажется, что из-за проблемы с потоками 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 голосов
/ 01 июня 2009

Я не уверен насчет специфики, но если предположить, что BackgrounDRb запускается как разветвленный процесс, все открытые файлы будут закрыты для разветвленного дочернего процесса. Скорее всего, это проявится как то, что вы видите.

Однако я бы предположил, что BackgrounDRb был бы достаточно умен, чтобы справиться с этим, поскольку это должно быть довольно очевидной проблемой.

...