feat: faster initial stat loading

v1.18.x
Barış Soner Uşaklı 6 years ago
parent cb50b3f441
commit 89cd31ed28

@ -137,11 +137,11 @@ async function getStatsForSet(set, field) {
const now = Date.now(); const now = Date.now();
const results = await utils.promiseParallel({ const results = await utils.promiseParallel({
yesterday: db.sortedSetCount(set, now - (terms.day * 2), now - terms.day), yesterday: db.sortedSetCount(set, now - (terms.day * 2), '+inf'),
today: db.sortedSetCount(set, now - terms.day, '+inf'), today: db.sortedSetCount(set, now - terms.day, '+inf'),
lastweek: db.sortedSetCount(set, now - (terms.week * 2), now - terms.week), lastweek: db.sortedSetCount(set, now - (terms.week * 2), '+inf'),
thisweek: db.sortedSetCount(set, now - terms.week, '+inf'), thisweek: db.sortedSetCount(set, now - terms.week, '+inf'),
lastmonth: db.sortedSetCount(set, now - (terms.month * 2), now - terms.month), lastmonth: db.sortedSetCount(set, now - (terms.month * 2), '+inf'),
thismonth: db.sortedSetCount(set, now - terms.month, '+inf'), thismonth: db.sortedSetCount(set, now - terms.month, '+inf'),
alltime: getGlobalField(field), alltime: getGlobalField(field),
}); });
@ -159,12 +159,15 @@ async function getStatsForSet(set, field) {
const percent = last ? (now - last) / last * 100 : 0; const percent = last ? (now - last) / last * 100 : 0;
return percent.toFixed(1); return percent.toFixed(1);
} }
results.yesterday -= results.today;
results.dayIncrease = increasePercent(results.yesterday, results.today); results.dayIncrease = increasePercent(results.yesterday, results.today);
results.dayTextClass = textClass(results.dayIncrease); results.dayTextClass = textClass(results.dayIncrease);
results.lastweek -= results.thisweek;
results.weekIncrease = increasePercent(results.lastweek, results.thisweek); results.weekIncrease = increasePercent(results.lastweek, results.thisweek);
results.weekTextClass = textClass(results.weekIncrease); results.weekTextClass = textClass(results.weekIncrease);
results.lastmonth -= results.thismonth;
results.monthIncrease = increasePercent(results.lastmonth, results.thismonth); results.monthIncrease = increasePercent(results.lastmonth, results.thismonth);
results.monthTextClass = textClass(results.monthIncrease); results.monthTextClass = textClass(results.monthIncrease);

Loading…
Cancel
Save