Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Warunki pracy w Sidekiq

Możesz użyć Sidekiq Unique Jobs

przy takim podejściu tylko 1 zadanie z tymi samymi parametrami będzie jednocześnie obecne.

więc stwórz model

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

niż gdy potrzebujesz uruchomić jakieś zadanie dla użytkownika:

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. Jak wyświetlić listę wszystkich baz danych Redis?

  2. Wykreślanie nazw stanów na mapie przy użyciu Node js i D3 w czasie rzeczywistym

  3. Jak przeglądać/wyświetlać wartości przechowywane w Redis

  4. Jak przekazywać dane między wieloma stanami Lua (wielowątkowymi)?

  5. To samo zadanie wykonywane wielokrotnie