Pergunta

Não tenho idéia do que fiz aqui, mas tentei obter um controlador em trilhos para fila um emprego na Resque, que então um trabalhador se conecta e faz o levantamento pesado (ou seja, comparações, entradas de banco de dados).
No entanto, as tarefas nem estão sendo executadas, pois não há instruções claras para definir o resque.

Copiar e colar abaixo:
Também disponível no formato GIST!

Esta é a linha de exceção de Hoptoad:

NoMethodError: undefined method 'perform' for Violateq:Module

Este é o conteúdo do arquivo "trabalhador":

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 é o conteúdo do arquivo "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

Muito obrigado pelo seu tempo e, se desejar mais informações, não hesite em entrar em contato comigo,
Luke Carpenter

Foi útil?

Solução

Fixo.
Mudado def perform para def self.perform
Então funcionou

Obrigado,
Luke Carpenter

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top