No tengo idea de lo que he hecho aquí, pero he intentado obtener un controlador en Rails para poner en cola un trabajo en Resque, que luego un trabajador se conecta y hace el trabajo pesado (comparaciones de IE, entradas de bases de datos).
Sin embargo, las tareas ni siquiera se están ejecutando, ya que no hay instrucciones claras para configurar Resque up.Resque worker da "NoMethodError: método indefinido` perform` "
Copiar y pegar de a continuación:
Also available in Gist format!
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,
Lucas carpintero
Gracias amigo. Esto me ahorra un gran momento. Estaba leyendo este http://blog.redistogo.com/2010/07/26/resque-with-redis-to-go/ y su código es incorrecto (¿tal vez solo de una versión anterior?) Y con esto funciona. – rafamvc
Esto me salvó a mí también, y en realidad estaba leyendo la misma publicación a la que se vincula el sujeto de arriba. –