Sidekiq 两个默认队列
Sidekiq Two Default Queues
我的暂存和生产应用程序都使用相同的构建命令:
bundle exec sidekiq -c 2 -q default -q mailers
我的暂存应用程序中的队列名称与构建命令状态完全匹配:
但是,我的生产应用程序显示如下:
我知道默认前缀来自我的 cable.yml:
development:
adapter: async
test:
adapter: test
production:
adapter: redis
url: <%= ENV["REDIS_URL"] { "redis://localhost:6379/1" } %>
channel_prefix: calendarize_production
我不明白为什么有两个默认值却没有邮件队列?我做错了什么?
Sidekiq 的队列定义不是在 cable.yml
上完成的,而是在 sidekiq.yml
上完成的,这里有一个例子:
:concurrency: 5
:queues:
- default
- mailers
staging:
:queues:
- ["my_project_staging_default", 3]
- ["my_project_staging_mailers", 2]
:tag: STAGING
:labels:
- default
- mailers
production:
:queues:
- ["my_project_production_default", 3]
- ["my_project_production_mailers", 2]
:concurrency: 5
:tag: PRODUCTION
:labels:
- default
- mailers
使用 default
而不命名的风险是在环境之间共享工作人员。然后我会建议给它们命名,这样你就可以 100% 确定在什么地方执行什么。
我的暂存和生产应用程序都使用相同的构建命令:
bundle exec sidekiq -c 2 -q default -q mailers
我的暂存应用程序中的队列名称与构建命令状态完全匹配:
但是,我的生产应用程序显示如下:
我知道默认前缀来自我的 cable.yml:
development:
adapter: async
test:
adapter: test
production:
adapter: redis
url: <%= ENV["REDIS_URL"] { "redis://localhost:6379/1" } %>
channel_prefix: calendarize_production
我不明白为什么有两个默认值却没有邮件队列?我做错了什么?
Sidekiq 的队列定义不是在 cable.yml
上完成的,而是在 sidekiq.yml
上完成的,这里有一个例子:
:concurrency: 5
:queues:
- default
- mailers
staging:
:queues:
- ["my_project_staging_default", 3]
- ["my_project_staging_mailers", 2]
:tag: STAGING
:labels:
- default
- mailers
production:
:queues:
- ["my_project_production_default", 3]
- ["my_project_production_mailers", 2]
:concurrency: 5
:tag: PRODUCTION
:labels:
- default
- mailers
使用 default
而不命名的风险是在环境之间共享工作人员。然后我会建议给它们命名,这样你就可以 100% 确定在什么地方执行什么。