【发布时间】:2018-10-10 09:24:33
【问题描述】:
我在 Heroku 应用程序上遇到了这个主要问题:我设置了 Express 路由 如下:
app.get('/recommendations/:data', (req, res) => {
let dataSplit = req.params.data.split("");
let dataInt = [];
dataSplit.forEach(char => dataInt.push(parseInt(char)));
function sendPrediction(dataInf) {
const process = spawn('python', ["./predict.py", dataInt]);
process.stdout.on('data', (data) => {
let jSonned = JSON.stringify(data.toString('utf-8'));
let chopped = jSonned.slice(1, jSonned.length - 3);
res.send(chopped.split(','));
});
}
sendPrediction(dataInt);
});
当我从前端组件向该路由发出 GET 请求时,根据 Heroku 的默认行为,它会在 30 秒后超时并出现 H12 错误。由于这条路线在我的本地主机上运行良好,它让我相信 Python 依赖项有问题,因为我可以通过停用我的 virtualenv 在本地主机上复制相同的行为。我知道这没什么好说的,但是如果有人看到这样的东西并且可以提供帮助,我将不胜感激。 如何找出问题所在?
这是 Heroku 日志中的错误:
2018-04-30T17:17:27.175201+00:00 heroku[router]: at=error code=H12
desc="Request timeout" method=GET path="/recommendations/41231" host=what-
doxd.herokuapp.com request_id=2249d6ac-a389-40c1-8f64-8947796494a7
fwd="12.23.56.98" dyno=web.1 connect=1ms service=30001ms status=503 bytes=0
protocol=https
【问题讨论】:
标签: node.js express heroku scikit-learn axios