2015-06-16 10 views
7

Ich versuche, ActiveJob zu lernen, und ich schuf einen einfachen Job, um durch den Prozess zu gehen. Ich bin ziemlich fest auf Schritt 1. Ich habe eine my_job.rb Datei in app/jobs. Diese Datei enthält diesen Code:Nicht initialisierte Konstante für meine Arbeit ActiveJob

class MyJob < ActiveJob::Base 
    queue_as :default 

    def perform(obj) 
    puts obj 
    end 
end 

Wenn ich meine Konsole und geben in MyJob gehen, wirkt es wie die Klasse existiert nicht ... was bin ich dabei?

: 001> MyJob Nameerror: nicht initialisierte Konstante MyJob

Antwort

0

Ich denke, das etwas zufällig gelöst wurde ... ich neu gestartet wahrscheinlich mein Server oder so etwas. Soweit ich das beurteilen kann, muss der Server jedes Mal, wenn ein Job bearbeitet wird, neu gestartet werden, damit die Änderungen übernommen werden können.

+0

Hatte den gleichen Fehler, änderte nichts, den Server neu gestartet und es wurde behoben. – BluGeni

7

Stellen Sie sicher, dass der Dateiname des Jobs mit "_job.rb" endet.

Beispiel: Ein Job namens CheckDropboxAvailableSpaceJob sollte seinen Dateinamen check_dropbox_available_space_job.rb haben, nicht check_dropbox_available_space.rb.

Schienen erkennen es nicht als einen Job, wenn der Dateiname nicht "_job" am Ende hat.

Verwandte Themen