last50Weeks gets cached
This commit is contained in:
@@ -4,6 +4,7 @@ const app = express();
|
||||
const { spawnSync } = require('child_process');
|
||||
const moment = require('moment');
|
||||
const { WebUntis } = require('webuntis');
|
||||
var cron = require('node-cron');
|
||||
|
||||
// Befehl für die Skriptausführung
|
||||
const command = process.platform === 'win32' ? 'python' : 'python3';
|
||||
@@ -15,21 +16,26 @@ const static = path.join(__dirname, 'static');
|
||||
// Verwende EJS als Vorlagen-Engine
|
||||
app.set('view engine', 'ejs');
|
||||
|
||||
// Funktion zum Erstellen der Liste der letzten 50 Wochen
|
||||
function getLast50Weeks() {
|
||||
function getlast50weeks() {
|
||||
let currentWeek = moment().startOf('isoWeek');
|
||||
const last50Weeks = [];
|
||||
|
||||
let last50WeeksCache = [];
|
||||
|
||||
for (let i = 0; i < 50; i++) {
|
||||
const startOfWeek = currentWeek.clone().format('DD.MM.YYYY');
|
||||
const endOfWeek = currentWeek.clone().add(6, 'days').format('DD.MM.YYYY');
|
||||
last50Weeks.push(startOfWeek + " - " + endOfWeek);
|
||||
last50WeeksCache.push(startOfWeek + " - " + endOfWeek);
|
||||
currentWeek.subtract(7, 'days');
|
||||
}
|
||||
|
||||
return last50Weeks;
|
||||
return last50WeeksCache;
|
||||
}
|
||||
|
||||
let last50Weeks = getlast50weeks();
|
||||
|
||||
cron.schedule('0 6 * * *', () => {
|
||||
last50Weeks = getlast50weeks();
|
||||
});
|
||||
|
||||
function getCalendarEntries(weekDate) {
|
||||
const [startDateStr, endDateStr] = weekDate.split(" - ");
|
||||
|
||||
@@ -131,12 +137,16 @@ app.use("/", express.static(static));
|
||||
|
||||
// Definiere eine Route für die Startseite
|
||||
app.get('/', (req, res) => {
|
||||
res.render(path.join(static, 'index'), { options:getLast50Weeks() });
|
||||
res.render(path.join(static, 'index'), {options:last50Weeks });
|
||||
});
|
||||
|
||||
app.get('/getlast50weeks', (req, res) => {
|
||||
res.send(last50Weeks);
|
||||
});
|
||||
|
||||
// Definiere eine Route für die Ausgabe der Daten
|
||||
app.get('/getreport', async (req, res) => {
|
||||
const weekDate = getLast50Weeks()[req.query.week];
|
||||
const weekDate = last50Weeks[req.query.week];
|
||||
res.send({
|
||||
calendar: getCalendarEntries(weekDate),
|
||||
untis: await getUntis(weekDate)
|
||||
|
||||
Reference in New Issue
Block a user