在Heroku测功机上运行多个进程是否可行?

发布于 2021-01-29 16:27:18

我知道Heroku平台的内存限制,而且我知道将应用程序分为Web和Worker
dynos更具可扩展性。但是,我仍然希望在Web进程旁边运行异步任务以进行测试。Dynos成本很高,我想在Heroku提供的免费实例上进行原型制作。

在与Web进程相同的动态中生成新任务作为流程或子流程存在任何问题吗?

关注者
0
被浏览
44
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    在较新的Cedar堆栈上,生成多个进程没有问题。每个dyno都是虚拟机,除了内存和CPU使用率(我认为大约512
    MB内存和1个CPU内核)之外,没有任何特殊限制。遵循某些堆栈(如Python)的更新安装说明,将导致开箱即用多个(Web服务器)进程进行配置。

    Web
    dynos上安装的软件可能会有所不同,具体取决于您所使用的buildpack。如果您的子流程需要特殊的软件,那么您可能必须将其与应用程序捆绑在一起,或者(更好)滚动自己的buildpack。

    在这一点上,我通常会提醒您,强烈建议您使用适当的任务队列系统在工作者dyno而非Web
    dyno上运行异步任务,但这听起来您已经知道了。请记住,只有一个Web
    dyno的帐户(通常意味着“免费”帐户)将在一个小时左右没有收到任何Web请求的情况下使该dyno停止运行,并且那时在该dyno上运行的任何后台进程时间必定会被杀死。具有多个网络测功的帐户不受此限制。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看