发条需要它自己的过程吗?

问题描述 投票:3回答:1

[我已经看到人们在几个不同的地方说,发条应该以自己的dyno运行,其procfile可能看起来像这样(例如heroku中的示例:

clock: bundle exec clockwork lib/clock.rb

有没有理由不与工人使用相同的测功机?使用如下所示的过程:

worker: bundle exec clockwork clock.rb & bundle exec sidekiq -C config/sidekiq.yml -L log/sidekiq.log

这似乎很好用,但是我想知道人们为什么不这样做的根本原因。任何指导将不胜感激。预先感谢。

ruby heroku sidekiq clockwork
1个回答
0
投票

我最近开始并行运行sidekiq和发条,像这样:

web: bundle exec puma -C config/puma.rb
worker: bundle exec clockwork clock.rb & bundle exec sidekiq & wait -n
# ^ https://help.heroku.com/CTFS2TJK/how-do-i-run-multiple-processes-on-a-dyno

到目前为止,还没有发现任何问题。...在heroku主机上,这为我们每月节省了$ 25。

如果同伴死亡,会发生什么? (@安东尼说)

通常sidekiq不会死(至少对我而言),我认为是因为sidekiq仅管理工作。实际工作发生在与一个perform()方法,当这些方法“提高/失败”时,它不会降低sidekiq父级。 Sidekiq的GUI显示重试队列和死队列,所以死的工作将最终在那些地方之一。

btw Heroku上有一篇文章,关于在一个“ dyno”中运行多个作业:https://help.heroku.com/CTFS2TJK/how-do-i-run-multiple-processes-on-a-dyno

OP说:

我见过人们在几个不同的地方说

但是,如果您有链接,我很想读那些评论。

© www.soinside.com 2019 - 2024. All rights reserved.