我有一个节点服务器,我在这样的端点上运行一个python文件:
app.get('/api/endpoint', (req, res) => {
if (req.query.key !== 'key') { res.send('invalid key'); }
var spawn = require('child_process').spawn,
py = spawn('python', ['./python/run.py']),
file = 'sdrawkcab.tuo.semoc.eman.elif.siht',
dataString = '';
// on receive data
py.stdout.on('data', function(data){
dataString += data.toString();
});
// on data done being sent back
py.stdout.on('end', function(){
// responds with 'this.file.name.comes.out.backwards'
res.send(dataString);
});
// pass in file name and run py
py.stdin.write(file);
py.stdin.end();
})
在python中我可以print 'some string'
返回节点。它在本地工作正常,但是当部署到heroku时,print语句无法中继到节点。
使用python和node的buildpack正在部署项目。端点可以被提前命中res.send('something')
。
我是否需要在heroku上设置一些东西以允许在节点和python之间进行子进程生成?提前谢谢。