sidekiq 异步处理任务

1.安装:

gem install sidekiq

或者在Gemfile文件中添加

gem 'sidekiq'
gem 'slim', ">= 1.3.0"
gem 'sinatra', '>= 1.3.0', :require => nil

2.挂载mount 可以让你监控项目运行状态

  require 'sidekiq/web'
  mount Sidekiq::Web, at: '/sidekiq'
  Sidekiq::Web.use Rack::Auth::Basic do |username, password|
    username == 'XXX' && password == 'XXXX'
  end

3 sidekiq配置 config/sidekiq.yml

:verbose: false
:concurrency: 5 # 并发数
:pidfile: ./tmp/pids/sidekiq.pid
:logfile: ./log/sidekiq.log # 输出的日志地址
:timeout: 30
:queues:
  - default # 写在队列参数中的, 表示让 sidekiq 处理这个 queue
  - [HardWorker, 2] # 使用数组的形式写, 第一个参数为打开的 queue 的名称, 第二个为优先级
  - [EmailWorker, 3]
  - [PasswordWorker, 4]

development:
:concurrency: 5
staging:
:concurrency: 10
production:
:concurrency: 5

4.在config/initializers下

redis_server = '127.0.0.1' # redis服务器
redis_port = 6379 # redis端口
redis_db_num = 11 # redis 数据库序号
redis_namespace = 'high_sidekiq' #命名空间,自定义的

Sidekiq.configure_server do |config|
  config.redis = { url: "redis://#{redis_server}:#{redis_port}/#{redis_db_num}", namespace: redis_namespace }
end

Sidekiq.configure_client do |config|
  config.redis = { url: "redis://#{redis_server}:#{redis_port}/#{redis_db_num}", namespace: redis_namespace }
end

5.启动项目:

rails s

6.启动sidekiq

bundle exec sidekiq  -C config/sidekiq.yml 调试启动方式  

7.在浏览器中输入,然后输入用户名和密码

http://XXXX/sidekiq
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值