我有一个仓库,可以部署在两种模式:一个是前端的Web应用程序,而另一个是数据操纵过程,24×7不间断运行。
该应用程序在Django上运行并连接到Postgres数据库。
由于架构的原因,我不会去,我想部署应用程序在前端模式作为一个Heroku应用程序,并部署相同的应用程序(即相同的git回购)在数据代理模式,作为另一个Heroku应用程序。
这两个应用程序将共享相同的Postgres连接string,因此数据代理将提供前端应用程序。
是否有可能在一个回购协议中维护两个独立的Procfiles? 这将导致3个适当的dynos以前端模式启动,并且将在另一个模式中完全启动另一个进程。
你是否一定需要两个独立的Procfiles? 这听起来像你可以简单地使用前台的Web dynos和一个工人dyno(s)的背景数据操纵。 Heroku直接支持这个; 过程types将在一个Procfile中定义 :
web: gunicorn hellodjango.wsgi worker: <whatever command launches your worker>
在一个应用程序的独立模块,从一个Git仓库,作为不同types的DYNOS启动,绝对没有问题。
你可以使用我的插件dokku( https://github.com/sibeliusseraphini/dokku-custom-procfile-plugin )
你只需要使用dokku config:set $ APP(或者heroku config:set $ APP PROCFILE =“…”)设置一个PROCFILE =“web:npm start”