【问题标题】:delayed_jobs not creating rows in delayed_jobs tabledelay_jobs 没有在delayed_jobs 表中创建行
【发布时间】:2014-08-14 16:24:49
【问题描述】:

在 5 月的 Rails 应用程序中,我想使用延迟作业。所以我安装了延迟作业如下。

在宝石文件中

 gem 'delayed_job_active_record', '0.4.3'

然后在控制台中

 rails generate delayed_job:active_record

 rake db:create

它已经在数据库中创建了delayed_jobs 表。

我开始了

 rake jobs:work

然后我在控制器中添加了以下代码:

 Task.handle_asynchronously :in_the_future, :run_at => Proc.new { 5.minutes.from_now }

这里的Task是模型名称。

在模型task.rb中我写了

 def in_the_future
   self.update_attiributes(:status=> "updated")
 end

运行控制器方法后,它不会在delayed_jobs 表中创建任何记录。如果我做错了什么,请纠正我。

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 delayed-job


    【解决方案1】:

    你能不能把控制器代码改成

    Task.delay(:run_at => Proc.new { 5.minutes.from_now }).in_the_future
    

    【讨论】:

    • 如何将参数传递给in_the_future方法?
    • 您也可以使用 in_the_future 传递参数,并且必须在模型中指定
    猜你喜欢
    • 1970-01-01
    • 2017-12-22
    • 2016-10-04
    • 2019-01-06
    • 2023-03-24
    • 1970-01-01
    • 2019-09-15
    • 2013-07-06
    • 2016-08-01
    相关资源
    最近更新 更多