从NodeJS中的数据库更新或获取数据时,localhost api链接不起作用

时间:2019-05-21 17:58:04

标签: node.js express

  

我有一个快递服务器,每60秒更新一次MySQL DB,   服务器还从AWS RDS获取数据。

     

启动服务器后,它可以正常工作,并且http://localhost:3100返回   响应。但是一旦updateDB函数在60之后被调用   秒,本地主机就一直在等待。

  1.   

    通过调用以下函数来更新数据库是一种好习惯吗?   实际上在不同的模块中调用了另外三个函数。如果不   最好的解决方案是什么?

  2.   

    是什么原因导致该问题以及我应该在代码中进行哪些更改?

  

server.js

const http = require('http')
const app = require('./app')

const updateDB = require('./updatedb/updateData')
const port = process.env.PORT || 3100

const updateDatabase = () => {
    setInterval(() => {
        updateDB.updateDB()
    }, 60000)
}
updateDatabase()

const server = http.createServer(app);

server.listen(port, () => {
    console.log(`Gateway is ready on ${port}`)
})
  

app.js

const express = require('express')
const cors = require('cors')

const app = express()
const assetRoutes = require('./routes/assetsRoutes')
const exchangesRoutes = require('./routes/exchangeRoutes')

var corsOptions = {
    origin: "*",
    optionsSuccessStatus: 200 // some legacy browsers (IE11, various SmartTVs) choke on 204
};

app.use('/assets', cors(corsOptions), assetRoutes)
app.use('/exchanges', cors(corsOptions), exchangesRoutes)

module.exports = app;
  

updateDB.js -此模块调用的功能比导出的多3个功能   访问server.js并每60秒调用一次以更新数据库。

const updateAllTickers = require('../exchanges/quote/updateDB')
const updateCombinedSupply =require('../models/circulatingsupply/combinedcSupplyUpdate') 
const updatePriceChangePercentage = require('../models/updatePriceChangePercentage')

const updateDB = () => {
    updateAllTickers.updateExchangeTickers()
    updateCombinedSupply.updateCombinedSupply()
    updatePriceChangePercentage.updatePriceChange()
}

module.exports = ({
    updateDB: updateDB
})

0 个答案:

没有答案