Skip to content

Instantly share code, notes, and snippets.

@m3nd3s
Created December 11, 2011 17:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save m3nd3s/1461629 to your computer and use it in GitHub Desktop.
Save m3nd3s/1461629 to your computer and use it in GitHub Desktop.
Delayed Job implementation
# 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