我正在开发一个项目,该项目通过一个资源密集型的 Rails 工作人员启动一个进程,它只能由 Heroku 上的 Performance Worker 正确处理,1X 工作人员因为使用太多 RAM 而被杀死,而 2X 工作人员几乎无法处理负载超过其 RAM 限制高达 160%。绩效工作者可以毫无问题地完成工作。
我的问题是,有没有办法在作业启动之前将 Dyno 大小动态切换为 Performance,然后在作业完成或队列为空后将其缩小?
我知道 HireFire 存在,但据我所知,这项服务只会根据队列长度等增加工作人员的数量?我想到的另一个可能的解决方案是使用 Heroku API,它有一个 Dyno 端点,在作业开始前调整工作人员 dyno 的大小,然后在作业结束时将其缩小。
还有其他人对此问题有其他建议、想法或策略吗?
谢谢!