Tengo problemas para llamar a los métodos desde un módulo incluido dentro de un trabajador resque. En el ejemplo siguiente, sigo obteniendo errores de método indefinidos cuando intento llamar al método say
dentro del trabajador (que está en el módulo TestLib). He reducido el código a lo básico desnudas para ilustrar el tema:Rails Resque error de método indefinido en el módulo externo
controlador (/app/controllers/test_controller.rb)
class TestController < ApplicationController
def testque
Resque.enqueue(TestWorker, "HI")
end
end
Biblioteca (/ lib/test_lib. rb)
module TestLib
def say(word)
puts word
end
end
Trabajador (/ trabajadores/test_worke r.rb)
require 'test_lib'
class TestWorker
include TestLib
@queue = :test_queue
def self.perform(word)
say(word) #returns: undefined method 'say' for TestWorker:Class
TestLib::say(word) #returns: undefined method 'say' for TestLib::Module
end
end
Rakefile (resque.rake)
require "resque/tasks"
task "resque:setup" => :environment
estoy corriendo resque con el siguiente comando: rake environment resque:work QUEUE='*'
gemas: carriles (3.0.4) redis (2.2.2) redis-namespace (1.0.3) resque (1.19.0)
Servidor: nginx/1.0.6
Alguien tiene alguna idea de lo que está pasando allí?
* headslap * Creo que he estado trabajando mucho en los raíles últimamente. Eso hizo el truco. ¡Gracias! – internetoutfitters
+1 @tbuehlmann. –
Si hace esto y aún no funciona, reinicie su servidor – Kathan