在Heroku上运行Supervisor

5
我想知道是否有人知道如何在Heroku上运行Supervisor以管理队列工人?我已经成功地在我的Laravel应用程序中本地运行了Supervisor,但不知道如何创建更多的工作进程以更快地处理作业队列。
我向Heroku支持团队询问过这个问题,他们说它应该可以工作,但是他们没有任何关于此的文档,我也认为他们不会帮助我弄清楚这个问题。目前获取更多的队列工人(我正在使用SQS)的唯一方法是通过Procfile创建更多进程,这需要额外支付动态虚拟机,或者如果您正在使用性能动态虚拟机,则可以进行扩展。
对于我来说,这似乎有点低效,因为我的当前工作进程只使用小于60MB的内存来处理作业队列,而hobby动态虚拟机的内存限制为512MB。当现有的动态虚拟机利用率不足时,启动更多的虚拟机就是浪费。
我已经谷歌了几个小时,但还是找不到解决方案。
这种做法是否可行?谢谢。
2个回答

8

太棒了!这让我省去了在谷歌上浪费的时间,就像你所面对的那样。唯一的问题是supervisord进程没有自动启动,尽管它在Procfile中,并且在部署过程中已经识别出supervisor任务。我可以手动从控制台会话启动supervisord,并且工作进程也能正常运行,只是我无法弄清楚自动启动的原因,supervisor任务完全被忽略了,日志中也没有任何信息——你有什么线索可以帮助我找到可能发生的问题吗? - urchino
您的网站现在返回一个错误。"调用数组上的成员函数id()"。 - Eskay Amadeus

0

我建议您选择一个包含supervisor的Docker镜像。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接