Rrdtool 与 nodejs
Rrdtool with nodejs
假设我的本地机器上有一个程序 运行ning,我希望它侦听 HTTP 请求,这会触发程序 运行 并返回响应的输出该程序。例如,我在我的 Linux 框中安装了 rrdtool(用于访问循环数据库的命令行实用程序),我希望 Web 客户端向 Web 服务器请求 运行 rrdtool 程序并响应rrdtool 的输出。
问题:
我知道编程语言用于生成要发送回客户端的动态 html 内容,但 rrdtool 是一个已经存在的程序,只需要由 Web 请求触发即可。事实上,rrdtool 提供了各种编程语言绑定,例如 python,但我想在服务器端使用 Node.js,不支持 javascript 绑定到 rrdtool。那么我的 javascript 代码和 rrdtool 程序(CLI)之间的接口是如何完成的呢?
我考虑过使用 Java 实现 rrdtool 功能,例如 rrd4j,但可移植性对我来说并不是真正的优先事项,我想 运行 官方rrdtool 程序(用 C 编写)以获得更好的性能。但是,我不确定服务器端 javascript 和 rrdtool 之间的接口成本是否会超过 运行 宁 C 程序的性能优势。
任何help/feedback/pointers将不胜感激。
只需将 NodeJS 的 "child_process" 模块用于 运行 您的 rrdtool。然后使用 child.stdin.on('data', function (data) {...
等捕获它的输出。捕获它的输出,将其格式化为 HTML,并将其作为对启动它的 Web 请求的回复发送。
如果您正在使用 RRDTool 生成图形图像,那么您应该能够通过您的 NodeJS 处理程序调用 rrdtool,让它写入可通过 Web 访问的目录中的临时文件。然后,将新创建的图像文件的 URL 发回,您的 Web 前端可以使用它来创建一个新的 IMG 标签进行显示。
假设我的本地机器上有一个程序 运行ning,我希望它侦听 HTTP 请求,这会触发程序 运行 并返回响应的输出该程序。例如,我在我的 Linux 框中安装了 rrdtool(用于访问循环数据库的命令行实用程序),我希望 Web 客户端向 Web 服务器请求 运行 rrdtool 程序并响应rrdtool 的输出。
问题:
我知道编程语言用于生成要发送回客户端的动态 html 内容,但 rrdtool 是一个已经存在的程序,只需要由 Web 请求触发即可。事实上,rrdtool 提供了各种编程语言绑定,例如 python,但我想在服务器端使用 Node.js,不支持 javascript 绑定到 rrdtool。那么我的 javascript 代码和 rrdtool 程序(CLI)之间的接口是如何完成的呢?
我考虑过使用 Java 实现 rrdtool 功能,例如 rrd4j,但可移植性对我来说并不是真正的优先事项,我想 运行 官方rrdtool 程序(用 C 编写)以获得更好的性能。但是,我不确定服务器端 javascript 和 rrdtool 之间的接口成本是否会超过 运行 宁 C 程序的性能优势。
任何help/feedback/pointers将不胜感激。
只需将 NodeJS 的 "child_process" 模块用于 运行 您的 rrdtool。然后使用 child.stdin.on('data', function (data) {...
等捕获它的输出。捕获它的输出,将其格式化为 HTML,并将其作为对启动它的 Web 请求的回复发送。
如果您正在使用 RRDTool 生成图形图像,那么您应该能够通过您的 NodeJS 处理程序调用 rrdtool,让它写入可通过 Web 访问的目录中的临时文件。然后,将新创建的图像文件的 URL 发回,您的 Web 前端可以使用它来创建一个新的 IMG 标签进行显示。