sql >> データベース >  >> NoSQL >> Redis

Sidekiqの労働条件

    Sidekiqのユニークなジョブを使用できます

    このアプローチでは、同じパラメータを持つ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
    

    ユーザーのためにジョブを実行する必要がある場合よりも:

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



    1. MongoDB $ mod

    2. MongoDB $ sampleRate

    3. Mongodbconcatintおよびstring

    4. redisサーバーを停止します。シャットダウンも停止も機能しません