获取Sidekiq中延迟工作的当前状态(通过Active Job?)

时间:2016-07-01 14:04:00

标签: ruby-on-rails rails-activejob

我使用rails 4.2.5和Sidekiq进行后台处理。

应用程序可以调用API。

我现在有了这段代码:

def start_item(name, init_query)
  job_id = AzureBufferBase.delay.execute_in_transaction(name, init_query)
  job_id
end

我这样得到一个job_id:ef95bdd9cf5da0ef1273db6c

现在我想透过API公开这个状态:

module Api
  class BackgroundJobsController < BaseApiController
    def show
      result = Sidekiq::Status(params[:id])
      render json: { 'status' => result.to_json }, status: 200
    end
  end
end

Sidekiq ::状态:这不起作用,但我的问题是,如何从作业的活动作业中获取状态(排队,进度,完成......)?

1 个答案:

答案 0 :(得分:0)

好像你正在寻找Active Job Status宝石。