无法在特定时间运行延迟的工作

时间:2015-11-07 08:29:33

标签: ruby-on-rails delayed-job

我有一个工作文件,我正在使用delayed_job驱动程序。

它可以在以后执行。

我的工作档案: 的作业/ test_job_job.rb

class TestJobJob < ActiveJob::Base
  queue_as :default

  def perform(*args)
    puts("test")
  end
  def test_method
    puts('test method')
  end
end

在我的控制器中,我做到了,

TestJobJob.perform_later

它工作正常并给了我正确的输出: 输出:

[Worker(host:hunter pid:8079)] Job ActiveJob::QueueAdapters::DelayedJobAdapter::JobWrapper (id=18) RUNNING
test
[Worker(host:hunter pid:8079)] Job ActiveJob::QueueAdapters::DelayedJobAdapter::JobWrapper (id=18) COMPLETED after 0.0397
[Worker(host:hunter pid:8079)] 1 jobs processed at 1.3259 j/s, 0 failed

但是当我改为时,

TestJobJob.delay(run_at: 2.minutes.from_now)

工作甚至没有出现,当我做的时候,

TestJobJob.delay(run_at: 2.minutes.from_now).test_method

它给了我错误:TestJobJob的未定义方法`test_method'

我的配置:application.rb

config.active_job.queue_adapter = :delayed_job

0 个答案:

没有答案