Created
December 11, 2011 17:17
-
-
Save m3nd3s/1461629 to your computer and use it in GitHub Desktop.
Delayed Job implementation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Em Gemfile | |
gem 'delayed_job' | |
# Após isto estou executando o comando: ./script/rails generate delayed_job | |
# que retorna um erro: | |
m3nd3s [adena] 1.9.2 (DJ) $ ./script/rails generate delayed_job | |
/Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/mysql2-0.2.6/lib/active_record/connection_adapters/mysql2_adapter.rb:312:in `query': Table 'adena_development.delayed_jobs' doesn't exist (Mysql2::Error) | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/mysql2-0.2.6/lib/active_record/connection_adapters/mysql2_adapter.rb:312:in `execute' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/mysql2-0.2.6/lib/active_record/connection_adapters/mysql2_adapter.rb:462:in `columns' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/activerecord-3.0.10/lib/active_record/base.rb:685:in `columns' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/activerecord-3.0.10/lib/active_record/base.rb:698:in `column_names' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/activerecord-3.0.10/lib/active_record/relation.rb:370:in `block in method_missing' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/activerecord-3.0.10/lib/active_record/relation.rb:125:in `scoping' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/activerecord-3.0.10/lib/active_record/relation.rb:370:in `method_missing' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/bundler/gems/searchlogic-92487f9773b0/lib/searchlogic/named_scopes/conditions.rb:92:in `condition_details' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/bundler/gems/searchlogic-92487f9773b0/lib/searchlogic/named_scopes/conditions.rb:68:in `local_condition?' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/bundler/gems/searchlogic-92487f9773b0/lib/searchlogic/named_scopes/conditions.rb:61:in `condition?' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/bundler/gems/searchlogic-92487f9773b0/lib/searchlogic/named_scopes/association_conditions.rb:6:in `condition?' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/bundler/gems/searchlogic-92487f9773b0/lib/searchlogic/named_scopes/association_ordering.rb:14:in `condition?' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/bundler/gems/searchlogic-92487f9773b0/lib/searchlogic/named_scopes/ordering.rb:11:in `condition?' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/bundler/gems/searchlogic-92487f9773b0/lib/searchlogic/named_scopes/ordering.rb:31:in `order' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/activerecord-3.0.10/lib/active_record/base.rb:447:in `order' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/delayed_job-2.1.4/lib/delayed/backend/active_record.rb:17:in `<class:Job>' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/delayed_job-2.1.4/lib/delayed/backend/active_record.rb:8:in `<module:ActiveRecord>' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/delayed_job-2.1.4/lib/delayed/backend/active_record.rb:5:in `<module:Backend>' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/delayed_job-2.1.4/lib/delayed/backend/active_record.rb:4:in `<module:Delayed>' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/delayed_job-2.1.4/lib/delayed/backend/active_record.rb:3:in `<top (required)>' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/activesupport-3.0.10/lib/active_support/dependencies.rb:239:in `require' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/activesupport-3.0.10/lib/active_support/dependencies.rb:239:in `block in require' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/activesupport-3.0.10/lib/active_support/dependencies.rb:225:in `block in load_dependency' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/activesupport-3.0.10/lib/active_support/dependencies.rb:593:in `new_constants_in' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/activesupport-3.0.10/lib/active_support/dependencies.rb:225:in `load_dependency' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/activesupport-3.0.10/lib/active_support/dependencies.rb:239:in `require' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/delayed_job-2.1.4/lib/delayed/worker.rb:35:in `backend=' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/delayed_job-2.1.4/lib/delayed/worker.rb:43:in `guess_backend' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/delayed_job-2.1.4/lib/delayed/railtie.rb:7:in `block in <class:Railtie>' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/railties-3.0.10/lib/rails/initializable.rb:25:in `instance_exec' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/railties-3.0.10/lib/rails/initializable.rb:25:in `run' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/railties-3.0.10/lib/rails/initializable.rb:50:in `block in run_initializers' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/railties-3.0.10/lib/rails/initializable.rb:49:in `each' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/railties-3.0.10/lib/rails/initializable.rb:49:in `run_initializers' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/railties-3.0.10/lib/rails/application.rb:134:in `initialize!' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/railties-3.0.10/lib/rails/application.rb:77:in `method_missing' | |
from /Users/m3nd3s/Projetos/adena/config/environment.rb:5:in `<top (required)>' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/activesupport-3.0.10/lib/active_support/dependencies.rb:239:in `require' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/activesupport-3.0.10/lib/active_support/dependencies.rb:239:in `block in require' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/activesupport-3.0.10/lib/active_support/dependencies.rb:225:in `block in load_dependency' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/activesupport-3.0.10/lib/active_support/dependencies.rb:593:in `new_constants_in' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/activesupport-3.0.10/lib/active_support/dependencies.rb:225:in `load_dependency' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/activesupport-3.0.10/lib/active_support/dependencies.rb:239:in `require' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/railties-3.0.10/lib/rails/application.rb:103:in `require_environment!' | |
from /Users/m3nd3s/.rvm/gems/ruby-1.9.2-p136@adena/gems/railties-3.0.10/lib/rails/commands.rb:16:in `<top (required)>' | |
from ./script/rails:6:in `require' | |
from ./script/rails:6:in `<main>' | |
# Para corrigir isto eu já tentei apontar o repositório git na especificação da gem do Gemfile, resolve este problema mas cai naquele outro que havia lhe comentado de método inexistente. | |
gem 'delayed_job', :git => 'git://github.com/collectiveidea/delayed_job.git' | |
# em messenger.rb | |
class Messenger < ActionMailer::Base | |
# ... existem outros métodos | |
def contact(contact, recipient) | |
@store = Store.first | |
@contact = contact | |
mail(:to => recipient, :subject => "#{store_title} Contato pelo site - #{contact.subject}").deliver | |
end | |
end | |
# que é chamado em um outro lugar, um model Contact, e é nele que o erro acontece novamente, | |
# dessa vez dizendo que o método contact não existe para Class. | |
class Contact < ActiveRecord::Base | |
def send_mail(recipient) | |
Messenger.delay.contact(self, recipient) | |
end | |
end | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment