const [playerEconomy, guildEconomy] = require("../Data/batchSave"); const BATCH_SIZE = 1000; const INTERVAL_TIME = 60000; function resourceLoop() { const guildValues = []; const playerValues = []; guildEconomy.clearEach((key, value) => { const [guildID, categoryID, rewardID] = key.split("-"); guildValues.push([guildID, categoryID, rewardID, value]); }); if (guildValues.length) query("INSERT INTO guildresources (guildID, categoryID, itemID, amount) VALUES ? ON DUPLICATE KEY UPDATE amount = amount + VALUES(amount)", [guildValues]); playerEconomy.clearEach((key, value) => { const [playerID, categoryID, rewardID] = key.split("-"); playerValues.push([playerID, categoryID, rewardID, value]); }); if (playerValues.length) query("INSERT INTO resources (playerID, categoryID, itemID, amount) VALUES ? ON DUPLICATE KEY UPDATE amount = amount + VALUES(amount)", [playerValues]); console.info(guildValues.length, playerValues.length, "periodic save") }; setInterval(resourceLoop, INTERVAL_TIME); module.exports = resourceLoop;