【发布时间】:2022-01-25 23:33:59
【问题描述】:
我们有 dockerized Rails 应用程序,它部署在 AWS(使用 Fargate)上。
目前,我们在 AWS 上运行开发和暂存服务器。我们使用 Resque 进行调度和排队。部署完成后,我们确实使用工头来启动以下流程。
#Docker CMD bundle exec foreman start -f Procfile.dev-server
#Procfile.dev-server 网络:捆绑 exec rails s -p 3000 -b '0.0.0.0' 队列:bin/rake 环境 resque:work QUEUE=responsive_tasks 调度器:bin/rake 环境 resque:scheduler
此设置很好,并且在暂存环境之前工作正常。不建议将 Foreman 用于生产设置,并且在需要扩展时可能会出现问题,因为所有 3 个进程都在同一台机器上运行。
怀疑
在 AWS 上部署代码进行生产后,如何在没有 Foreman 的情况下运行所有 3 个不同的进程(Web 服务器、队列和调度程序)?
我是否应该在具有相同 Rails 应用程序代码的单独实例上运行 Resque 服务器?
【问题讨论】:
标签: ruby-on-rails amazon-web-services resque