我试图从作为Node脚本中的子进程运行的Python脚本中检索一些RPC数据。我能够自己运行文件并检索数据,但是我的设置要求我将此节点脚本作为另一个节点脚本的子进程来运行。
这是我运行Python脚本并检索数据的承诺: ( dailyDextro.js )
var dextroBlockchainData = () => {
return new Promise((resolve, reject) => {
var result = collection.estimatedDocumentCount()
.then(function test() {
options = {
pythonOptions: ['-u']
};
ps.PythonShell.run('dextro.py', options, function(err, data) {
if (err) {
throw err;
}
else {
resolve(data);
}})
})})
}
这是父母。它可以运行所有其他文件,没有任何问题,但拒绝在dailyDextro.js中运行Python子进程。它不会返回任何错误,只是一个空的输出,随后不会将任何内容推入Mongo。
var exec = require('child_process').exec;
var fileList = ['dextro/dailyDextro', 'memetic/dailyMemetic', 'dextro/exchanges', 'memetic/exchanges']
fileList.forEach(async fileList => {
await exec('node project/coins/' + fileList + '.js')
})
以为这可能是Python脚本的路径问题,但事实并非如此。
如何解决它,以便子节点脚本中的子python脚本可以在父节点脚本中运行?