着信 http get 要求に応答して処理を行う「キープ アライブ」nodejs 子プロセスを作成しました。
var spawn = require("child_process").spawn;
var child = spawn("long_live_exe");
app.get("/some_request", function(req, res){
child.stdin.write("some_request\n");
res.send("task completed");
});
child.stdout
理想的には、このように、に基づいて応答を返したいと思います
app.get("/some_request", function(req, res){
child.stdin.write("some_request\n");
child.stdout.on('data', function(result){
res.send(result);
});
});
問題は、各リクエストごとに、stdout.on
イベント関数がもう一度配線されることです。それは悪いことではありませんか?
どういうわけか、 からコールバック関数を取得できたらstdin.write
、コードを書くことができるか想像してみてください
app.get("/some_request", function(req, res){
child.stdin.write("some_request\n", function(reply){
res.send(reply);
});
});
問題はchild.stdout.on
、http 要求のコールバックにフィードバックする方法です。