2012-07-01 57 views
10

我知道Heroku的平台的内存限制的,我知道这是更为扩展到一个应用程序分成网络和工人DYNOS。但是,我仍然希望与Web进程一起运行异步任务以进行测试。 Dynos是昂贵的,我想在Heroku提供的免费实例上创建原型。在Heroku dyno上运行多个进程是否可行?

是否有与生成一个新工作,在同一赛道作为一个网页制作工序的工序或子流程的任何问题?

回答

3

在新的雪松堆栈,有与产卵多个进程没有问题。每个dyno都是一台虚拟机,除了内存和CPU使用率(我认为大约有512 MB内存,以及1个CPU内核)之外,没有特别的限制。遵循针对某些堆栈(例如Python)的较新安装说明将导致具有多个(Web服务器)进程的配置。安装在网络DYNOS

软件可能取决于什么buildpack您使用的变化;如果你的子流程需要特殊的软件,那么你可能不得不将它与你的应用程序捆绑在一起,或者(更好地)推出你自己的buildpack。

在这一点上,我通常会提醒你,对工人DYNOS而不是网络DYNOS运行的异步任务,以适当的任务队列系统,大力鼓励,但它听起来像是你已经知道了。请记住,只有一个网络动态账户(通常这意味着“免费”账户)的账户会在没有收到任何网络请求一个小时左右后停止,并且在该动态网站上运行的任何后台进程时间必然会被杀死。具有多个网页打印机的帐户不受此限制。

+0

我对赛道空转出来的解决办法是对网络过程中的一个原子地锁定一个数据库对象,然后检查工人正在运行,如果不是的话,启动它。 – okw

相关问题