当前位置: 首页 > 面试题库 >

Rails如何判断sidekiq工作者是否用perform_async完成

罗业
2023-03-14
问题内容

我正在将广泛的后台任务推算给sidekiq工作者(第一次使用sidekiq)。

我已经能够使其正常运行。

但是我不确定如何检查sidekiq工作程序的进度-检查工作程序是否已通过perform_async函数完成的最佳方法是什么?

AutoWorker sidekiq任务:

class AutoWorker
    include Sidekiq::Worker

    def perform(lead_id, cars)
        logger.info "WORKER CREATED"
        lead = Lead.find(lead_id)
        response = ZipCodeCheck.new(cars: cars, lead: lead).execute 
    end
end

从我的控制器调用:

def update
    respond_to do |format|
      if @lead.update(lead_params)
          cars = params[:car_array]

          AutoWorker.perform_async(@lead.id, cars)
          format.json { render action: 'show', status: :created, location: @lead }
        else
          format.html { redirect_to @lead, notice: 'Lead was successfully updated.' }
          format.json { render action: 'show', status: :created, location: @lead}
        end
      else
        format.html { render action: 'edit' }
        format.json { render json: @lead.errors, status: :unprocessable_entity }
      end
    end
  end

问题答案:

将以下扩展gem检出到sidekiq:https : //github.com/utgarda/sidekiq-
status/blob/master/README.md

这是从我读到的:

job_id = MyJob.perform_async(*args)
data = Sidekiq::Status::get_all job_id
data # => {status: 'complete', update_time: 1360006573, vino: 'veritas'}
Sidekiq::Status::get     job_id, :vino #=> 'veritas'
Sidekiq::Status::at      job_id #=> 5
Sidekiq::Status::total   job_id #=> 100
Sidekiq::Status::message job_id #=> "Almost done"


 类似资料:
  • 问题内容: 我下载了封装在zip文件中的proguard,并将其解压缩到硬盘上。我没有以任何方式 安装 它(因为我不知道如何安装)。然后,我将其添加到我的project.properties文件中。然后,我做了一个“导出android应用程序”,完全希望eclipse抱怨它不知道我的proguard安装在哪里,但是没有抱怨。确实,我的密钥库中出现了一个新的apk文件,而我的应用程序的proguar

  • 问题内容: 使用控制台,如何确定sidekiq是否已连接到Redis服务器?我希望能够做这样的事情: 问题答案: 您可以使用Sidekiq提供的Redis信息: 从Sidekiq的Sinatra状态应用程序中获取了它。

  • 我下载了封装在zip文件中的proGuard,并将其解压缩到我的硬盘上。我没有以任何方式安装它(因为我不知道如何安装)。然后,我将添加到我的project.properties文件中。然后我做了一个“导出Android应用程序”,完全期待eclipse抱怨它不知道我的proGuard安装在哪里,但没有抱怨。事实上,一个新的apk文件出现在我的keystore中,一组文件(dump.txt等)出现在

  • 系统的日志需要登录和登出闭环,即有一个用户登录日志,就需要有一条登出日志。 如果用户通过登出按钮手动登出,触发登出接口是没问题的。 但是大多数用户,包括我自己都是直接点击x,关闭系统。 于是我监听了beforeunload事件,想在这里发登出请求。 现在遇到两个问题,一是:刷新也会触发这个事件。 二是:触发这个事件后的弹窗 重新加载是刷新弹出的,离开时关闭弹出的,我只想在点击离开的时候触发登出,重

  • 本文向大家介绍JavaScript & jQuery完美判断图片是否加载完毕,包括了JavaScript & jQuery完美判断图片是否加载完毕的使用技巧和注意事项,需要的朋友参考一下 众所周知,常见瀑布流当鼠标滚动到浏览器底部的时候,就会发起一个ajax的请求。在服务端生成item列表后,通过 js append到相应的div里边。 看起来很简单的样子,关键问题就出在图片的加载问题上,图片一般

  • cmf_is_user_login() 功能 判断前台用户是否登录 参数 无 返回 boolean