我已经搜索过这个网站和互联网上的任何地方,但没有得到明确的理解 .
我已按照说明在CentOS 6.7上成功安装了phantomjs和highcharts Setting Up Export Server
以下是“/ software / phantomjs / highcharts / highcharts-export-server-master / phantomjs”中所需的.js文件:
- highcharts-convert.js highcharts-more.js highstock.js highmaps.js d3-funnel.js gauge.min.js exports.js jquery.1.9.1.min.js
我对phantomjs,特别是highcharts非常陌生 - 我要做的是为在一台服务器(服务器B)上运行的批处理程序提供一种方法,将POST请求发送到服务器A上的导出服务器并返回.png或 . pdf文件 .
战争部署在Tomcat上,10个独立的服务器从端口7777开始运行,PhantomJS服务器也按照以下命令和app-convert.js配置文件在127.0.0.1:3003运行:
phantomjs highcharts-convert.js -host 127.0.0.1 -port 3003
phantomjs属性主机和端口phantomjs监听host = 127.0.0.1 port = 7777 phantomjs可执行文件的位置,可以是例如> / usr / local / bin / phantomjs exec = / software / phantomjs / phantomjs这里指定一个替代位置(整个路径!)用于>启动Phantomjs服务器的脚本 . F.eks /home/bert/scripts/my-highcharts-convert.js如果您使用与export-server捆绑在一起的脚本,请留空 . script = connect用于连接作为HTTP-server运行的phantomjs的属性>所有以毫秒为单位的值指定在 Build 连接时从phantomjs读取时的超时readTimeout = 6000打开到phantomjs的通信链接时使用的超时>服务器connectTimeout = 1000对phantomjs服务器的整个请求被调度,max timeout可以持续>到此值 . 这是因为在java中你不能依赖上面两个>超时 . maxTimeout = 6500池属性可以在池中运行的phantomjs服务器数 . poolSize = 10池实现为BlockingQueue . 当要求幻像服务器>连接并且没有任何可用时,它等待毫秒数>由maxWait定义maxWait = 6000将文件保存在临时文件夹中以保留特定的retainTime,定义为> miliseconds retentionTime = 300000
我可以点击http://my-server/highcharts-export-web/演示页面,它可以在浏览器中正常工作 .
我有的问题:
-
我想将哪个URL用于远程批处理程序?
-
是// my-server / highcharts-export-web /应该可以用于远程调用吗?
-
webapp是否设计为接收来自非浏览器客户端的直接请求?
-
什么进程调用服务器池中的10个服务器?
有人可以提供一个示例,说明如何设置远程调用导出服务器(它们将每天运行多次)并从批处理程序返回.png或.pdf?
谢谢Brian
1 回答
我们取得了成功!部分问题是从HTTPS调用HTTP中的托管服务器(javascript不喜欢它 .
我们也是一个冷冻房子,所以这个第一个例子是一个直接的服务器端调用,主要是缩小的基本图表 .
注意:我们确实成功通过cfhttp标签从HTTPS服务器端调用HTTP(类似于PHP cURL的东西)......
现在第二个是javascript / jQuery它是从highsoft提供的jsfiddle示例中提取的,但我不记得我是否在论坛或exprt服务器页面上找到它,但是我们通过HTTPS调用了highcharts托管导出服务器并且它工作了(我们每个内部渲染看起来好多了,我认为我们有一些额外的依赖,但两种方式都成功...
我们不得不调试这个javascript来使这个的coldfusion版本起作用 .
我认为有了这两个工作示例,有人可以将它移植到PHP或其他几乎没有问题的语言 . 请记住,如果在javascript中调试你的控制台并在Coldfusion上调试:)
最后,这个发现中最令人沮丧的部分之一就是点击服务器,与服务器通话但是在数据或文件内容中拉回default export example page(对于Coldfusion),它让我们挠头,因为我们不知道如何通过那部分只是得到我们的文件 .