Redis
 sql >> база данни >  >> NoSQL >> Redis

Условия на работа Sidekiq

Можете да използвате Sidekiq Unique Jobs

с този подход само 1 задание със същите параметри ще присъства едновременно.

така че създайте модел

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

отколкото когато трябва да изпълните каквато и да е работа за потребителя do:

user.user_jobs.create worker_class: Klass, params: params
Worker.perform_async(user_id: user.id)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Lua скрипт за Redis, който сумира стойностите на ключовете

  2. Как списъците на Redis могат да се използват за внедряване на чат система?

  3. Време за изчакване на спасяване::Грешка от Redis Gem (Ruby)

  4. Как да възобновите хеш слотове на конкретен възел в редис клъстер в случай на тежка повреда?

  5. Redis, как да увеличим всички резултати на zset със ZINCRBY?