sql >> Databáze >  >> NoSQL >> Redis

Pracovní podmínky Sidekiq

Můžete použít Sidekiq Unique Jobs

s tímto přístupem bude současně přítomna pouze 1 úloha se stejnými parametry.

tak vytvořte 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

než když potřebujete spustit jakoukoli úlohu pro uživatele:

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



  1. Nainstalujte MongoDB na Windows

  2. Proč nemohu ladit kód v asynchronní metodě?

  3. Použijte mongoexport s --query pro ISODate

  4. Chyba:Připojení Redis k 127.0.0.1:6379 selhalo - připojte ECONNREFUSED 127.0.0.1:6379