1

我在 Rails 应用程序中使用赛璐珞池在用户上传文件后卸载 pdf 转换。

我使用初始化程序为应用程序创建了一个全局转换池。

在我的开发环境(OS X,thin)中一切顺利。在我的 CentOS 机器(Apache,Passenger)上运行它也没有问题。

这基本上是初始设置:

config/initializers/converter_pool.rb

require './lib/x/convert_async'

CONVERT_POOL=X::ConvertAsync.pool

lib/X/convert.rb

module X
  class Convert
  end
end

lib/X/convert_async.rb

require_relative 'convert'

module X
  class ConvertAsync < Convert
    include Celluloid
  end
end

在某个阶段,我的池停止在 CentOS 机器(usertest env)上工作,但在我的开发环境中继续正常。

附加说明:当通过控制台调用更新图像的方法时,池仍然有效。我猜这个问题与加载顺序或某种权限有关。

不确定是什么原因造成的——有一个新的 Linux 内核和 gems 更新。

经过各种尝试,我终于通过在类定义之后初始化池并删除​​池的初始化程序来让它再次工作。

module X
  class ConvertAsync < Convert
    include Celluloid
  end
end

CONVERT_POOL=X::ConvertAsync.pool

我仍然有问题,因为我想更好地了解发生了什么。

有谁知道可能是什么原因造成的?在类定义之后实例化赛璐珞池是个坏主意吗?有没有潜在的问题?

非常感谢任何可以阐明的人:)干杯,尤金

4

0 回答 0