ruby-on-rails - Sidekiq 不使用 Docker 处理排队作业设置
问题描述
我在我的 rails 应用程序中运行 Sidekiq 来处理后台作业。
sidekiq.yml
:verbose: false
:pidfile: ./tmp/pids/sidekiq.pid
:logfile: ./log/sidekiq.log
:concurrency: 5
:queues:
- ["queue1", 1]
- ["queue2", 1]
- ["queue3", 1]
- ["queue4", 1]
- ["queue5", 1]
- critical
- default
- low
max_retries: 1
ps辅助| grep sidekiq
root 48 0.0 0.0 4400 1264 ? Ss 13:06 0:00 runsv sidekiq
root 15753 1.0 0.0 4628 924 ? S 13:14 0:00 /bin/sh /root/app/config/docker/sidekiq.sh
root 15754 35.0 0.0 78136 11408 ? R 13:14 0:00 ruby /usr/local/rvm/gems/ruby-2.6.2/bin/ruby_executable_hooks /usr/local/rvm/gems/ruby-2.6.2/bin/sidekiq -C config/sidekiq.yml -e qa -L log/sidekiq.log
Sidekiq 可以在本地环境中处理作业。但是当我在 qa 环境中部署时,sidekiq 作业被添加到队列中并且未处理。
我可以在 redis-cli 中看到队列名称
我应该怎么做才能处理队列中的作业?
版本:-
sidekiq 5.2.5
Rails 5.2.2
初始化程序/sidekiq.rb
redis_config = {
url: "redis://#{Rails.configuration.redis.fetch('host')}:#{Rails.configuration.redis.fetch('port')}/#{Rails.configuration.redis.fetch('db')}",
namespace: "myapp"
}
Sidekiq.configure_server do |config|
config.redis = redis_config
end
Sidekiq.configure_client do |config|
config.redis = redis_config
end
解决方案
推荐阅读
- content-management-system - 如何将自定义 JSON 代码添加到 Magento 2?
- android - 每次打开我的活动时,回收商都会查看重复的项目
- java - 如何在maven中使用外部dll添加目录的路径
- vb.net - 编写 VB.Net 代码以循环浏览所有 Microsoft Access 表单等,以将它们导出为文本
- jquery - Leaflet.js TypeError: t is undefined with multiple maps
- ansible - 使用动态 CN 和 alt_namess 列表创建 ansible openssl_csr
- angular - 如何创建自定义全局模块
- python - 如何从熊猫数据框的每一行中删除常见的东西?
- python - Telegram bot 定期发送消息
- magento - Magento 2 youtube 视频无法播放