月に 1 回ジョブを実行する必要があります。いつでもgemを使用してcronで呼び出す必要があります。この場合、ジョブまたはレーキを使用しますか?
コンソールでジョブを実行できません。
レールランナー「MyJob.perform_later」
Rails 4.2を使用しています
エラー:
.rvm/gems/ruby-2.1.4/gems/railties-4.2.0/lib/rails/commands/runner.rb:62:in <top (required)>': uninitialized constant MyJob (NameError)
from /Users/leonardo/.rvm/gems/ruby-2.1.4/gems/railties-4.2.0/lib/rails/commands/runner.rb:62:in
eval' from /Users/leonardo/.rvm/gems/ruby-2.1.4 /gems/railties-4.2.0/lib/rails/commands/runner.rb:62:in <top (required)>'
from /Users/leonardo/.rvm/gems/ruby-2.1.4/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:123:in
require' from /Users/leonardo/.rvm/gems/ruby-2.1.4/gems/railties-4.2.0/lib /rails/commands/commands_tasks.rb:123:in require_command!'
from /Users/leonardo/.rvm/gems/ruby-2.1.4/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:90:in
runner' from /Users/leonardo/.rvm/gems/ruby-2.1.4/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:39 :in run_command!'
from /Users/leonardo/.rvm/gems/ruby-2.1.4/gems/railties-4.2.0/lib/rails/commands.rb:17:in
' from bin/rails:4:in require'
from bin/rails:4:in
'
私の仕事の内容:
class MyJob < ActiveJob::Base queue_as :default
def perform()
Veiculo.particulares.publicado.each do |veiculo|
limite_dias = veiculo.plano.dias_ativado
dias_ativado = DateTime.today - veiculo.ativado_em.to_date
if limite_dias > dias_ativado
veiculo.update_attribute(:ativo, nil)
VeiculoMailer.avisa_desativacao(veiculo).deliver_later
end
end
end
終わり