7

Estoy ejecutando una tarea de fondo Resque y sigo recibiendo un error de segmentación al llamar a una gema que usa Rjb. Sin embargo, todo funciona bien, cuando se ejecuta no en el fondo. Aquí es una línea en la gema, que provoca el error:Rieles: falla de segmentación en Rjb cuando está en proceso en segundo plano, ¿funciona bien cuando no está en segundo plano?

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 

las cargas joya archivos .jar como se puede ver, pero de nuevo, todo funciona perfectamente, cuando no está en el fondo. ¿Qué puede causar el problema y es posible solucionarlo?

Respuesta

0

Dado que el error parece fallar mientras se ejecuta como una tarea en segundo plano, es probable que esto se deba a que no se han establecido las variables del entorno. De acuerdo con el docs, se requieren las configuraciones LD_LIBRARY_PATH y JAVA_HOME para poder usar rjb en Rails. Creo que puede agregarlos a su environment.rb y asegurarse de que task 'resque: setup' =>: environment se usa para cargar el entorno de Rails.

Cuestiones relacionadas