什么是Procfile?和Web和工人

时间:2013-04-21 05:56:26

标签: node.js mongodb heroku procfile

是否有必要在Procfile中提供“工人”信息?如果是,那么实际上是什么 - 找不到关于此的好文章。我希望你们可能有想法。我已经在Procfile中添加了web:node server / server.js的详细信息。任何帮助,将不胜感激!

3 个答案:

答案 0 :(得分:52)

  

Procfile是一种机制,用于声明应用程序在Heroku平台上的dynos运行的命令。

来自Process Types and the Procfile,这是一个很好的介绍,但基本上你使用Procfile告诉Heroku如何运行你的应用程序的各个部分。每行上冒号左边的部分是流程类型;右边的部分是运行以启动该过程的命令。

进程类型可以是任何内容,但web是特殊的,因为Heroku会将HTTP请求路由到以web名称开头的进程。其他进程(例如后台工作程序)可以命名为任何进程,您可以使用Heroku工具箱通过引用其名称来启动或停止这些进程。

因此,简而言之,worker不是必需的,除非您想在controlling process with the heroku ps command之后在后台运行其他一些流程。

答案 1 :(得分:5)

如果您打算使用某种后台作业系统(即稍后将长时间运行的任务排队),您只需要Procfile中的“工作人员”条目。 Heroku在这里有更多信息:

https://devcenter.heroku.com/articles/procfile

答案 2 :(得分:0)

我正在按照Udemy的课程进行有关nestjs和aws Elastic Beanstalk的部署,但是直到我用以下方法创建Procfile时,部署一直失败:

网络:npm install && npm运行脚本构建&& npm运行脚本start:prod