Ohne delayed_job funktioniert dieser Code einwandfrei; Wenn ich delayed_job einschließe, erhalte ich einen Fehler von uninitialized constant EmailNewsletter::Gibbon
bei jedem Versuch des Arbeiters.
Rails 3.0.7, Gibbon 0.1.5 (ein Juwel für die Arbeit mit MailChimp), delayed_job 2.1.4.
Controller
%Vor%lib / email_newsletter.rb
%Vor%Mit dem obigen Code, wenn ich eine E-Mail-Adresse an / subscribe, funktioniert alles gut. Ich möchte delayed_job einbinden, damit meine App nicht langsam wird, wenn MailChimp einen zu langen Beat braucht, um zu antworten.
Controller
%Vor% Es sieht so aus, als ob der Job in die Tabelle delayed_job geht. Die Daten handler
sind:
Eine Sekunde später nimmt der Arbeiter es auf und läuft, und ich bekomme einen Fehler: uninitialized constant EmailNewsletter::Gibbon
.
application.rb
enthält config.autoload_paths += %W(#{Rails.root}/lib)
.
Was mache ich falsch?
Bearbeiten
Zur Klarstellung ist die Zeile, auf die der Fehler geworfen wird,
g = Gibbon::API.new('api_key_here', :id => 'list_id_here')
Ich habe es auch versucht
g = ::Gibbon::API.new('api_key_here', :id => 'list_id_here')
Hast du delayed_job gem in deine gemfile aufgenommen? Können Sie das einmal versuchen?
%Vor%Tags und Links ruby-on-rails-3 ruby-on-rails delayed-job