schedule next run part 4

This commit is contained in:
Christopher Hase 2025-03-28 13:40:48 +01:00
parent d5891cbdd8
commit d4a86547d1

View file

@ -17,42 +17,45 @@ const transporter = nodemailer.createTransport({
secure: false // MailHog needs no encryption secure: false // MailHog needs no encryption
}); });
exec('iching divine', (error, stdout, stderr) => { function executeCommand(): void {
console.log(`Begin`); exec('iching divine', (error, stdout, stderr) => {
if (error) { console.log(`Begin`);
console.error(`Error: ${error.message}`);
return;
}
if (stderr) { if (error) {
console.error(`Stderr: ${stderr}`); console.error(`Error: ${error.message}`);
return; return;
} }
console.log(`Send E-Mail`); if (stderr) {
console.error(`Stderr: ${stderr}`);
return;
}
sendEmail(stdout); console.log(`Send E-Mail`);
if (config == undefined) { sendEmail(stdout);
config = loadConfig();
} else { //TODO: JUST FOR DEBUGGING
console.log(`Config already read...`);
}
console.log(config.daysInterval, config.timeOfDay); if (config == undefined) {
config = loadConfig();
} else { //TODO: JUST FOR DEBUGGING
console.log(`Config already read...`);
}
//sleep(); console.log(config.daysInterval, config.timeOfDay);
// Berechne das nächste Ausführungsdatum //sleep();
const nextRunDate = calculateNextRunDate(config.daysInterval, config.timeOfDay);
console.log(`Gegenwärtig: ` + new Date());
console.log(`Nächste Ausführung: ${nextRunDate}`);
// Starte das Scheduling // Berechne das nächste Ausführungsdatum
scheduleNextRun(nextRunDate); const nextRunDate = calculateNextRunDate(config.daysInterval, config.timeOfDay);
}); console.log(`Gegenwärtig: ` + new Date());
console.log(`Nächste Ausführung: ${nextRunDate}`);
// Starte das Scheduling
scheduleNextRun(nextRunDate);
});
}
// Funktion, um die Konfiguration zu laden // Funktion, um die Konfiguration zu laden
function loadConfig(): Config { function loadConfig(): Config {
@ -110,7 +113,7 @@ function calculateNextRunDate(daysInterval: number, timeOfDay: string): Date {
return currentDate;*/ return currentDate;*/
currentDate.setMinutes(currentDate.getMinutes() + 2); //TODO: JUST FOR DEBUGGING!!! currentDate.setMinutes(currentDate.getMinutes() + 1); //TODO: JUST FOR DEBUGGING!!!
return currentDate; return currentDate;
} }
@ -124,7 +127,8 @@ function scheduleNextRun(nextRunDate: Date) {
// Hier wird der Prozess ausgeführt // Hier wird der Prozess ausgeführt
console.log('Prozess wird ausgeführt!'); console.log('Prozess wird ausgeführt!');
exec('iching divine'); //TODO: ÜBERPRÜFEN!!! //exec('iching divine'); //TODO: ÜBERPRÜFEN!!!
executeCommand();
// Berechne das nächste Ausführungsdatum und plane es erneut // Berechne das nächste Ausführungsdatum und plane es erneut
const newNextRunDate = calculateNextRunDate(config.daysInterval, config.timeOfDay); const newNextRunDate = calculateNextRunDate(config.daysInterval, config.timeOfDay);