Я должен вставить в свою базу данных 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 строк из приведенного выше кода, но я хочу, чтобы все они, что-то вроде 260 тыс. В час, с новыми записями или узнали, как использовать Kue для решения этой проблемы.