【发布时间】:2014-11-04 04:33:23
【问题描述】:
Sidekiq 相对于 Resqueue 的好处之一是它可以在同一个进程中运行多个作业。然而,缺点是我无法弄清楚如何强制一组并发作业在不同的进程中运行。
这是我的用例:假设我必须生成 6400 万行数据,并且我在一个亚马逊 EC2 实例上有 8 个 vCPU。我想将任务分成 8 个并发作业,每个作业生成 800 万行。问题是,如果我正在运行 8 个 sidekiq 进程,有时 sidekiq 会决定在同一个进程中运行 2 个或更多作业,因此它不会使用所有 8 个 vCPU,并且需要更长的时间才能完成。有没有办法告诉 sidekiq 使用哪个工作人员或强制它在一个组中平均分配工作?
【问题讨论】:
标签: ruby-on-rails amazon-ec2 sidekiq