【发布时间】:2018-11-02 02:16:19
【问题描述】:
在 Heroku 上托管应用程序时,我经常通过代码中的 Heroku API 触发一次性 dynos,以便在后台执行繁重的工作。我最近在 AWS 上设置了一些堆栈,并通过使用 AWS ECS 运行任务遵循了类似的模式。
我没有为此使用长时间运行的队列工作程序,因为硬件资源根据具体任务的不同而有很大差异,而且通常工作负载会出现在高峰期。
对于本地开发,我通常通过在正在运行的容器中执行后台任务或从控制台手动触发后台命令来跳过这个主题。什么是在本地运行一次性容器的好方法?
【问题讨论】:
-
从你的代码中触发'heroku local:run'怎么样?
-
我正在运行 PHP。我怎么能从容器中运行它而不是触发进程的容器的子进程?除此之外,我还在寻找这个问题的通用解决方案。
-
也许您可以在本地开发环境中运行第二个容器,其中您将有一个“spawner”进程负责根据从您的 PHP 收到的输入启动“heroku local:run”进程在您的主容器中?因此,在 Heroku 上,您使用平台 API 来启动一次性 dyno,而在 dev 上,您会触发辅助容器来启动“heroku local:run”进程。
-
听起来你需要让你的第一个容器访问 AWS api 并在 ECS 上创建第二个容器
标签: docker heroku amazon-ecs aws-fargate