【发布时间】:2014-08-01 21:08:12
【问题描述】:
我正在尝试在 Azure Web(或 Worker)角色上启动 PhantomJs 的本地网络服务器实例,以与 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>
启动.cmd:
START phantomjs highcharts-convert.js -host 127.0.0.1 -port 3003
EXIT /B 0
据我所知,这似乎在启动时执行得很好,但是,进程并没有保持运行。它只是执行并关闭。例如,我可以远程进入盒子,找到部署并手动执行startup.cmd(其中一个命令窗口打开并保持打开状态),一切正常。
如何在实例启动时执行 PhantomJs exe 网络服务器到它继续运行且不关闭的位置?
我尝试在ServiceDefinition.csdef 声明中将taskType 设置为simple 和background,但它似乎没有任何改变。
【问题讨论】:
标签: azure phantomjs azure-web-roles azure-worker-roles