什么是Procfile?和Web和工人

Mau*_*hak 46 heroku mongodb node.js procfile

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

Mic*_*ley 58

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

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

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

因此,简而言之,worker没有必要,除非您想通过使用heroku ps命令控制进程在后台运行其他进程.

  • http://blog.daviddollar.org/2011/05/06/introducing-foreman.html这也是对这个主题的一个很好的介绍. (6认同)
  • @Kashyap很好的电话.值得注意的是Heroku Toolbelt将在本地安装Foreman,因此您可以使用相同的Procfile来开发自己的应用程序. (2认同)

Kev*_*tre 7

Procfile如果您计划使用某种后台作业系统(即将长时间运行的任务排队等待),您只需要一个"工人"条目.Heroku在这里有更多的信息:

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

  • 此外,名称"工人"是任意的.您可以在procfile中为它们命名; "worker","emailer","sidekiq","ladygaga_twitter_feed_watcher".这允许您独立管理每种类型($ heroku ps:scale emailer = 2).实际上,如果proc文件中有多个"worker"类型,则只使用最后列出的类型. (3认同)