使用heroku部署小型nodejs应用时出错



我有一个API服务器,我想每一分钟更新一次数据库,所以我创建了一个小脚本(另一个项目),这样他就会每分钟向我的主服务器发送一个请求,我做了一个路由来处理请求

const request = require("request");
setInterval( async()=> { 
request({
url :"https://serverdomainname/route",
json:true
},(err,res,body)=>{
console.log("sent")
})}, 60000);

在开发中,当我输入

节点应用程序一切正常,但当我在Heroku中部署时,它在第一秒内就工作了,但随后我出现了这个错误

{
2021-10-23T16:09:52.503866+00:00 app[web.1]: > updateserver@1.0.0 start /app
2021-10-23T16:09:52.503866+00:00 app[web.1]: > node app.js
2021-10-23T16:09:52.503867+00:00 app[web.1]:
2021-10-23T16:10:51.663197+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
2021-10-23T16:10:51.709745+00:00 heroku[web.1]: Stopping process with SIGKILL
2021-10-23T16:10:51.846193+00:00 heroku[web.1]: Process exited with status 137
2021-10-23T16:10:51.926528+00:00 heroku[web.1]: State changed from starting to crashed
}

来自Heroku服务器的服务器日志

是否有解决方案,或者我可以从主服务器进行操作?

Heroku希望在端口上运行应用程序,您可以分配端口,甚至不需要像

const request = require("request");
setInterval( async()=> { 
request({
url :"https://serverdomainname/route",
json:true
},(err,res,body)=>{
console.log("sent")
})}, 60000);
// to run on Heroku
require('http').createServer((req, res) => res.end()).listen(process.env.PORT || 3000);

或者https://stackoverflow.com/a/40621709/3461055也可以帮助你