Sidekiq 运行 单个 heroku dyno 中的多个作业?

Sidekiq running multiple jobs in a single heroku dyno?

我注意到在我的一些 sidekiq worker 上,它们似乎是 运行 在单个 dyno 中的多个进程(同时处理多个作业)(日志会表明这一点)。

有多少进程可以 be/are 运行 在不使用 swarming(企业功能)的情况下同时在单个 dyno 中分离作业?

我在不使用 swarm 的情况下将所有内容设置为默认值,因此每个 sidekiq worker 使用 25 个线程。但是,我不知道所有这些线程究竟用于什么。谁能帮助我理解这如何转化为并发工作人员在单个 Heroku dyno 中工作?

您看到一个 Sidekiq 进程同时有 25 个线程 运行ning 作业。每个线程将执行一个作业,因此您一次最多可以有 25 个作业 运行ning。

没有 swarm,每个 dyno 只能 运行 一个进程。

您可以 运行 在 dyno 中使用 swarm 的多个进程,但多少取决于您的应用程序的内存要求以及 dyno 中的内核数。

这将为您提供 100 个工作线程:4*25。

SIDEKIQ_COUNT=4 bundle exec sidekiqswarm -e production -c 25