29 lines
1.1 KiB
JavaScript
29 lines
1.1 KiB
JavaScript
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; |