是否可以在Heroku dyno上运行多个进程?

时间:2012-07-01 04:15:02

标签: python heroku subprocess worker

我知道Heroku平台的内存限制,我知道将应用程序分成web和worker dynos的可扩展性要高得多。但是,我仍然希望在Web进程旁边运行异步任务以进行测试。 Dynos价格昂贵,我想在Heroku提供的免费实例上进行原型设计。

在与Web流程相同的dyno中将新作业作为流程或子流程生成是否存在任何问题?

1 个答案:

答案 0 :(得分:3)

在较新的Cedar堆栈上,产生多个进程没有问题。每个dyno都是一个虚拟机,除内存和CPU使用情况外没有特别的限制(我认为大约512 MB的内存和1个CPU内核)。对于某些堆栈(如Python)的较新安装说明,将导致配置包含多个(Web服务器)进程。

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

此时我通常会提醒您,强烈鼓励在工作人员dynos上运行异步任务而不是使用正确的任务队列系统,但是听起来你已经知道了。请记住,只有一个网络dyno(通常这意味着“免费”帐户)的帐户将在一小时左右不接收任何Web请求后停止旋转,并且任何后台进程在该dyno上运行时间一定会被杀死。具有多个网络动态的帐户不受此限制。

相关问题