Azure Web角色启动上的PhantomJS Webserver exe

时间:2014-08-01 21:08:12

标签: azure phantomjs azure-web-roles azure-worker-roles

我正在尝试在Azure Web(或工作者)角色上启动PhantomJs的本地Web服务器实例,以与HighCharts一起使用来呈现服务器端图表图像。

PhantomJs只是一个简单的.exe,可以使用以下命令作为网络服务器启动:

phantomjs highcharts-convert.js -host 127.0.0.1 -port 3003

...然后可以针对它发出本地HTTP POST请求。

我已将此命令包含在startup.cmd批处理脚本中,该脚本配置为在通过ServiceDefinition.csdef发布时使用我的Azure Web角色执行:

<Startup>
  <Task commandLine="startup.cmd" executionContext="elevated" taskType="background" />
</Startup>

STARTUP.CMD:

START phantomjs highcharts-convert.js -host 127.0.0.1 -port 3003

EXIT /B 0

据我所知,这似乎在启动时执行正常,但是,该过程不会继续运行。它只是执行和关闭。例如,我可以远程进入框中,找到部署并手动执行startup.cmd(命令窗口打开并保持打开状态),一切正常。

如何在实例启动时执行PhantomJs exe webserver到它继续运行但未关闭的位置?

我尝试在taskType声明中将simple设置为backgroundServiceDefinition.csdef,但它似乎无法改变任何内容。

2 个答案:

答案 0 :(得分:1)

如果它正在执行,它可能是一个计时问题。您可以添加以下内容:

 ping 1.1.1.1 -n 1 -w 300000 > nul

在执行脚本之前。

您也可以输出到日志文件,因此如果执行它您可以看到它正在做什么。 &GT;&GT; log.txt中。

如果它没有执行,我可能会看到它在后台执行而不是交互式的路径。

答案 1 :(得分:1)

事实证明我没有将支持.js文件设置为“复制到输出目录”,因此startup.cmd无法找到它们。

感谢Steve提供的输出日志记录建议,这让我看到了无法找到“highcharts-convert.js”的错误。

相关问题