我有一个自然语言解析器二进制文件,例如parser
,它需要很多时间来启动(从终端)但是在它运行之后,解析从终端获取输入并在不到一秒的时间内处理它
我有一个perl cgi脚本,它从客户端获取输入并使用该输入在服务器上运行解析器(带qx/parser/
)。
不幸的是,通过这种方式,为每个输入加载了解析器。
解析器是否有运行方式并监听来自客户端的输入?每个输入都不需要加载解析器。
答案 0 :(得分:0)
这是一个非常古老的问题(已经在inetd中看到),有各种解决方案。
一个简单的解决方案是将RPC :: Lite添加到永久运行的进程(作为守护进程),并编写一个与守护进程联系的最小客户端,发送请求并接收答案。
https://metacpan.org/pod/RPC::Lite的例子几乎包含了你需要的一切。如果两个任务在同一台机器上运行,则可以使用unix套接字作为传输。