sql >> Database >  >> NoSQL >> Redis

Sidekiq werkomstandigheden

U kunt Sidekiq Unique Jobs gebruiken

met deze aanpak zal er slechts 1 job met dezelfde parameters gelijktijdig aanwezig zijn.

dus maak een 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

dan wanneer u een taak voor de gebruiker moet uitvoeren:

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



  1. Procedure:gebruikersauthenticatie en autorisatie inschakelen in Apache HBase

  2. Mongodb-query met velden in dezelfde documenten

  3. Mongoose wachtwoord hashen

  4. MongoDB-aggregaat, hoe u elk element van de array in groepspijplijn aan ToSet kunt toevoegen