我正在尝试使用子进程在我的快速路由中运行python函数。
当客户端发送特定路由的GET
请求时,我有一些使用python进行的计算;所以我想运行该程序并仅获得该路由的结果。
我已经浏览了一下互联网并尝试了子进程,但是,它们似乎没有用。
到目前为止我尝试了什么:
在SO处查看类似的问题后,我尝试了这个:
router.get('/computation', function(req, res, next) {
var spawn = require('child_process').spawn,
compute = spawn('python', ['compute.py']);
compute.stdout.on('data', function(data){
console.log(data.toString());
});
compute.stdin.write(JSON.stringify("Hello"));
compute.stdin.end();
});
python代码是这样的:
main()
res = compute()
print( res )
当我尝试这个时,没有任何反应,控制台中没有错误代码;甚至没有500码。浏览器继续重新加载。