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

¿Fue útil?

Solución

Fijo.
def perform cambiado a def self.perform
Luego se trabajó

Gracias,
Lucas carpintero

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top