Frage

Ich habe keine Ahnung, was ich hier getan habe, aber ich versucht haben, einen Controller in Rails zu bekommen, einen Job auf Resque in die Warteschlange, die dann ein Arbeiter Connects zu und macht das Heben schwerer Lasten (IE Vergleiche, Datenbankeinträge). < br> Allerdings sind die Aufgaben nicht einmal ausgeführt wird, da es keine klaren Anweisungen für die Einstellung Resque auf.

Kopieren Sie den unten:
Auch in Gist-Format zur Verfügung!

Dies ist die Ausnahme Linie vom Hoptoad:

NoMethodError: undefined method 'perform' for Violateq:Module

Dies ist der Inhalt des "Arbeiter" file:

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

Dies ist der Inhalt des "web_controller" file:

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

Vielen Dank für Ihre Zeit, und wenn Sie mehr Informationen wünschen, zögern Sie bitte nicht, mich zu kontaktieren,
Luke Carpenter

War es hilfreich?

Lösung

Fixed.
Changed def perform zu def self.perform
Dann arbeitete er

Danke,
Luke Carpenter

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top