SideKiq Unique - 同时为每个user_id创建一个作业

时间:2015-03-25 04:49:00

标签: ruby-on-rails ruby-on-rails-4 sidekiq

我需要确保每个user_id不超过一个作业同时由25名工作人员工作以避免死锁。

我正在尝试sidekiq独特的工作,但是死锁会继续发生,因为它一直在尝试处理队列中的所有待处理作业,而不会在忙线上同时重复的params上查找user_id。 / p>

任何想法如何使用它? git页面几乎没有记录。

SidekiqUniqueJobs.config.unique_args_enabled = true

class WordCreator   
  include Sidekiq::Worker

  sidekiq_options unique: true, unique_args: :args_filter, :queue => "critical"

  def self.args_filter(user_id)
    [user_id]   
  end

  def perform(*args)
    #retries = 100
    #begin

    work = Work.new(args.last)
  end
end

0 个答案:

没有答案