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