Ich habe keine Ahnung, was ich hier getan habe, aber ich habe versucht, einen Controller in Rails einen Job auf Resque zu stellen, der dann ein Worker verbindet und macht das schwere Heben (IE-Vergleiche, Datenbankeinträge).
Die Aufgaben laufen jedoch nicht einmal, da es keine klaren Anweisungen zum Einstellen von Resque-Up gibt.Rescue Worker gibt "NoMethodError: undefined Methode` perform` "aus
Kopieren Sie den unten:
Also available in Gist format!
Dies ist die Ausnahme Linie vom Hoptoad:
NoMethodError: undefined method 'perform' for Violateq:Module
Dies ist der Inhalt der "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
Diese ist der Inhalt der Datei "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
Vielen Dank für Ihre Zeit, und wenn Sie mehr Informationen wünschen, zögern Sie bitte nicht mich, Feste
Luke Carpenter
Dank. Das spart mir große Zeit. Ich habe das gelesen http://blog.redistogo.com/2010/07/26/resque-with-redis-to-go/ und ihr Code ist falsch (vielleicht nur von einer älteren Version?) Und damit funktioniert es. – rafamvc
Das hat mich auch gerettet, und ich habe tatsächlich den gleichen Post gelesen, mit dem der Typ oben verlinkt ist. –