您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Sidekiq工作条件

Sidekiq工作条件

您可以使用Sidekiq Unique Jobs

通过这种方法,将仅同时显示具有相同参数的一项工作。

所以创建模型

class UserJobs
  belongs_to :user
end

class User
  has_many :user_jobs
end

class Worker
  sidekiq_options unique: true

  def perform params
    user = User.find(params[:id])
    user.user_jobs.order('id asc').each do |job|
      job.worker_class.constantize.new.perform(job.params)
      job.destroy
    end
  end
end

而不是您需要为用户运行任何作业时:

user.user_jobs.create worker_class: Klass, params: params
Worker.perform_async(user_id: user.id)
其他 2022/1/1 18:13:34 有511人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶