什么" app开始"在cloudfoundry意味着

时间:2014-05-12 18:52:45

标签: node.js express cloudfoundry

我阅读了关于如何推送/启动应用程序的cloudfoundry文档:

但是,当cf push命令或cf start命令退出时,它们都没有说明。

在本地启动应用

例如,我有一个nodejs应用程序,它可以通过命令npm start启动,当在本地机器上运行时会阻塞:

$ npm start
> my-app@0.0.1 start /example-deployment-cf
> node index.js

connect.multipart() will be removed in connect 3.0
visit https://github.com/senchalabs/connect/wiki/Connect-3.0 for alternatives
connect.limit() will be removed in connect 3.0

我永远不知道nodejs何时监听tcp端口,除了我在我的应用程序中通过" start"的事件处理程序打印出来的东西。事件

将应用推向cloudfoundry

$ cf push
...
1 of 1 instances running

App started

Showing health and status for app shawnzhu-test-node in org me@example.com / space dev as me@example.com...
OK

requested state: started
instances: 1/1
usage: 512M x 1 instances
urls: shawnzhu-test-node.pivotal.io

     state     since                    cpu    memory          disk   
#0   running   2014-05-12 02:32:05 PM   0.0%   56.1M of 512M   26.4M of 1G

它只是(并且神奇地)告诉"应用程序启动"但没有说明何时(以及为什么)。

在现实世界中,npm start中会有很多函数调用,就像页面生成一样,在cf push命令退出后应用程序可能还没有准备就绪。因此,我仍然需要在代码中使用事件处理程序来打印日志条目,例如"完成生成页面"。

所以我的简单问题是," app的实际意义是什么?#34;在cloudfoundry中(在阅读其代码之前)。

1 个答案:

答案 0 :(得分:0)

如果路由被分配给推送的应用程序(例如,在您的情况下为shawnzhu-test-node.pivotal.io),则Cloud Foundry将检查URL是否返回200并报告它是否正在运行。

您还可以执行" cf logs shawnzhu-test-node"从应用启动过程中查看更详细的输出。