首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Sidekiq工人优先级设置

Sidekiq工人优先级设置
EN

Stack Overflow用户
提问于 2014-04-07 13:31:02
回答 1查看 4.5K关注 0票数 6

目前我的后台工作正在使用sidekiq。同时,我一次运行10个作业。这些工作不是小工作。完成这项工作需要6-8小时。

同时,我需要运行一些较小的工作(将需要2-3分钟)。目前无法运行这些作业,直到完成上述10个作业中的任何一个。所以我得等6-8个小时才能完成这个小任务。

但是,这些作业应该在添加到队列后立即运行。是否有任何选项可以阻止运行此类小作业的进程之一。我尝试了队列选项,但它在我的场景中也不起作用。

这里是我的侧翼配置

代码语言:javascript
运行
复制
:concurrency: 10
:queues:
  - [web, 7]
  - [default, 3]

有人能给我解决这个问题的办法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-07 13:40:22

长时间的工作窒息了较小的工作,因为他们争夺同样的资源。

我可以建议您运行两个sidekiq进程,每个进程使用不同的配置文件,每个进程侦听不同的队列:

sidekiq_long.yml

代码语言:javascript
运行
复制
:concurrency: 10
:queues:
  - default

sidekiq_normal.yml

代码语言:javascript
运行
复制
:concurrency: 3
:queues:
  - web

通过这种方式,服务器短作业总是可以使用一个侧方进程:

代码语言:javascript
运行
复制
sidekiq -C config/sidekiq_long.yml.yml
sidekiq -C config/sidekiq_normal.yml
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22913990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档