无法从Heroku上的Node.js服务器生成Python子进程

时间:2018-02-28 03:54:21

标签: python node.js heroku child-process spawn

我有一个节点服务器,我在这样的端点上运行一个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之间进行子进程生成?提前谢谢。

0 个答案:

没有答案