我必须在我的mysql数据库中插入来自许多不同平台的实时数据。我正在使用NodeJS并从API提取数据。
我有一个可以工作的代码,但是由于分页而有局限性,我不希望所有数据,我只想要新数据,例如,每一次脚本运行并从平台获取所有新数据API并将其发送到我的mysql数据库。我当时正在考虑尝试使用Kue保存数据并使用PM2运行脚本,但是我对此并不了解。
const axios = require("axios");
const db = require('../dbConnection');
module.exports = {
async index(req, res) {
const {data} = await axios.get(
"https://url/api/3/contacts?listid=13&limit=100",
{
headers: {
"Api-Token":
"***"
}
}
);
const {contacts} = data;
const dataToDb = contacts.map(user => {
let {email, created_utc_timestamp} = user;
return {email,created_utc_timestamp}
});
const promises = dataToDb.map(index=>{
db('wp_activecampaign').insert({ user_email: index.email, user_created: index.created_utc_timestamp }).then(()=>console.log('Novo dado')).catch(err=>console.log(err));})
await Promise.all(promises);
return res.status(200).json('sucess!');
}
};
我从上面的代码中获得了100行,但是我希望所有这些行都具有新记录,例如每小时260k,或者学习如何使用Kue解决此问题。