gpt4 book ai didi

heroku - 在 Heroku 上与 Resque 并发(每个节点运行多个工作程序)

转载 作者:行者123 更新时间:2023-12-04 00:41:47 25 4
gpt4 key购买 nike

请原谅我的无知,但是是否可以增加 Resque worker 每个 dyno 的进程数?如果是这样,怎么做到的?

我目前正在使用 Unicorn 为网络测功机添加并发性,到目前为止效果很好。我想将其扩展到 Resque 工作人员。我关注了Heroku's guide设置并发。

最佳答案

更新:下面的解决方案有效,但不推荐。对于 heroku 上的 resque 并发使用 resque-pool gem 。


如果您使用 COUNT=* 选项,这是可能的。您的 procfile 将类似于:

web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb
resque: env TERM_CHILD=1 COUNT=2 RESQUE_TERM_TIMEOUT=6 QUEUE=* bundle exec rake resque:workers

重要的是要注意 Procfile 中的 rake 任务是 resque:workers不是 resque:work


更新说明

COUNT=* 选项和 heroku 生产环境中的 rake resque:workers 调用存在重大问题。由于 resque 使用线程启动多个 worker 的方式,所有 SIGTERMSIGKILL 等处理都允许 worker 停止当前作业,重新排队作业,并正确关闭(包括注销)将永远发生。这是因为信号由主进程处理,而不是被线程捕获。这可能会导致幻影 worker 在被杀死后很长时间仍保留在 worker 列表中。这可能就是为什么有 a comment 的原因在警告 resque:workers 只应在开发模式下使用的 resque 代码中。

关于heroku - 在 Heroku 上与 Resque 并发(每个节点运行多个工作程序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17870471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com