我正在运行Resque后台任务,并且在调用使用Rjb的gem时,不断出现分段错误。但是,当不在后台运行时,一切都运行正常。下面是gem中的一行代码,它导致了这个错误:
def self.rjb_initialize
return if ::Rjb::loaded?
::Rjb::load(nil, self.jvm_args) #THIS IS WHERE THE ERROR TRACES TO
set_java_logging if self.log_file
end正如您所看到的,gem加载.jar文件,但同样,当不在后台时,一切都工作得很好。是什么导致了这个问题?有没有可能解决这个问题?
发布于 2015-02-04 14:35:05
由于错误似乎在作为后台任务运行时失败,这很可能是由于未设置环境变量造成的。根据docs的说法,为了在Rails中使用rjb,同时需要LD_LIBRARY_PATH和JAVA_HOME设置。我认为您只需将它们添加到您的environment.rb中,并确保使用任务'resque:setup‘=> :environment来加载Rails环境。
https://stackoverflow.com/questions/10003194
复制相似问题