Heroku中的Nodejs错误:H12"请求超时"

时间:2018-03-06 18:50:23

标签: node.js

我在Heroku上部署了一个nodejs后端来处理Telegram机器人与某些API之间的通信。问题是机器人有时需要几个小时才能发回一些响应,我会收到像这样的连续错误(有时,每隔1分钟):

heroku[router]: - at=error code=H12 desc="Request timeout" method=POST path="/new-message" host=MY_APP request_id=SOME_ID fwd="SOME_ADDRESS" dyno=web.1 connect=0ms service=30000ms status=503 bytes=0 protocol=https

我的代码(在index.js中)如下:

var express = require('express'); 
var app = express();
var bodyParser = require('body-parser');
const axios = require('axios');

const port = process.env.PORT || 3000;

app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({
  extended: true
}));

app.post('/new-message', function(req, res) {
  const {message} = req.body

  if (!message) {
    return res.end()
  }

  if (message.text === 'Hello world!') {
    axios.post('https://api.telegram.org/botID/sendMessage', {
      chat_id: message.chat.id,
      text: 'You said Hello world!'
    })
      .then(response => {
        console.log('Message posted');
        res.end('ok');
      })
      .catch(err => {
        console.log('Error :', err);
        res.end('Error :' + err);
      })
  } 
});

app.listen(port, function() {
  console.log('Listening on port ' + port);
});

错误不仅发生在我写一个" Hello world!"消息,但也没有做任何事情。在某些情况下,机器人会正确地回复我,但这不是一般规则......在某些情况下,我甚至会在第二天收到回复。

知道问题可能是什么?我想这是一个与等待响应相关的问题,30秒后发回错误,但我不知道如何修复它......

非常感谢!

0 个答案:

没有答案