【问题标题】:Call Delayed Job for an Api Controller为 API 控制器调用延迟作业
【发布时间】:2018-03-30 12:07:16
【问题描述】:

我有以下控制器

class V1::LpDeveloperReferralsController < V1::BaseController
 def create
   add(a, b).delay
 end

 def add(a, b)
 end
end

我希望能够在 create 方法中调用 add 方法,但将其作为延迟作业运行。

目前,它不这样做。

【问题讨论】:

  • 这个delay 方法是从哪里来的?

标签: ruby-on-rails ruby ruby-on-rails-4 delay delayed-job


【解决方案1】:

您想将此 Api 调用排队以进行外部调用还是发送到另一个端点?

如果对你有帮助,你可以试试下面的..

send_request -> 可以是您自己的方法来向外部进行 API 调用

object -> 你的控制器实例

class ExampleRequestJob
  def initialize(object)
    @object = object
    Delayed::Job.enqueue self
  end

  def perform
    @response = @object.send_request().with_indifferent_access
  end

  def after(job)
    # want to reattempt if failed
  end

  def error(job, exception)
    #failed
  end

  def success(_job)
    # your success 
  end
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-11
    • 2016-03-29
    • 2013-02-14
    • 2011-12-14
    • 2022-11-10
    • 2012-10-11
    • 2013-06-10
    相关资源
    最近更新 更多