trabajador Resque da hacia fuera “NoMethodError: método no definido` perform`”
-
26-09-2019 - |
Pregunta
No tengo idea de lo que he hecho aquí, pero he tratado de conseguir un controlador de rieles que hacer cola un trabajo en Resque, que luego un trabajador se conecta y hace el trabajo pesado (comparaciones decir, las entradas de base de datos). < br> Sin embargo, las tareas no están aún en funcionamiento, ya que no hay instrucciones claras para establecer Resque arriba.
Copiar y pegar de abajo:
También disponible en formato Gist!
Esta es la línea excepción de hoptoad:
NoMethodError: undefined method 'perform' for Violateq:Module
Este es el contenido del archivo de "trabajador":
module Violateq
@queue = :violateq
def perform(nick, rulenumber)
# Working for the weekend!!!
puts "I got a nick of #{nick} and they broke #{rulenumber}"
@violation = Violation.new(nick, rulenumber)
puts "If you got this far, your OK"
log_in(:worker_log, {:action => "Violate d=perfom", :nick => nick, :rulenumber => rulenumber, :status => "success"})
#rescue => ex
# notify_hoptoad(ex)
# log_in(:worker_log, {:action => "Violate d=perfom", :nick => nick, :rulenumber => rulenumber, :status => "failure"})
end
end
Este es el contenido del archivo "web_controller":
class IncomingController < ApplicationController
require 'mail'
skip_before_filter :verify_authenticity_token
def create
message = Mail.new(params[:message])
# Push the message into the queue
Resque.enqueue(Violateq, message.from.to_s, message.subject.to_s)
log_in(:endpoint_log, {:action => "IncomingController d=create", :subject => message.subject, :message => message.body.decoded})
render :text => 'success', :status => 200 # a status of 404 would reject the mail
rescue => ex
notify_hoptoad(ex)
render :text => 'failure', :status => 500
end
end
Muchas gracias por su tiempo, y si desea más información, por favor no dude en ponerse en contacto conmigo, España Lucas carpintero
Solución
Fijo.
def perform
cambiado a def self.perform
Luego se trabajó
Gracias,
Lucas carpintero