Додані повідомлення та перепрацьована структура застосунку та api

This commit is contained in:
2026-03-15 00:25:10 +02:00
parent 85483b85bb
commit 4bc9c11512
101 changed files with 5763 additions and 2546 deletions

View File

@@ -1,13 +1,57 @@
const cron = require("node-cron");
const Backup = require("./tasks/backup");
const Stand = require("./tasks/stands");
const Messages = require('./tasks/messages');
const Rept = require('./tasks/rept');
// Завдання: резервна копія БД кожен день в 22:30
// 1. Резервна копія БД щодня о 22:35
cron.schedule("30 22 * * *", () => {
Backup.database();
const now = new Date().toLocaleString();
console.log(`[${now}] Завдання «Backup» виконане!`);
console.log(`[${new Date().toLocaleString()}] Завдання «Backup» виконане!`);
});
// 2. Перевірка стендів без графіку щосуботи о 18:00
cron.schedule("0 18 * * 6", async () => {
console.log(`[${new Date().toLocaleString()}] Запуск перевірки стендів без графіку...`);
try {
await Stand.check_add();
console.log(`[${new Date().toLocaleString()}] Завдання «Stand check_add» виконане!`);
} catch (err) {
console.error("Помилка Stand check_add:", err.message);
}
});
// 3. Відправка графіку стендів щодня о 18:00
cron.schedule("0 18 * * *", async () => {
console.log(`[${new Date().toLocaleString()}] Запуск відправки графіків...`);
try {
await Stand.check_entries();
console.log(`[${new Date().toLocaleString()}] Завдання «Stand check_entries» виконане!`);
} catch (err) {
console.error("Помилка Stand check_entries:", err.message);
}
});
// 4. Очищення старих повідомлень щодня о 17:59
cron.schedule('59 17 * * *', async () => {
console.log(`[${new Date().toLocaleString()}] Запуск очищення старих повідомлень...`);
try {
await Messages.cleanup_old();
console.log(`[${new Date().toLocaleString()}] Завдання «Messages cleanup_old» виконане успішно!`);
} catch (err) {
console.error(`[${new Date().toLocaleString()}] Помилка Messages cleanup_old:`, err.message);
}
});
// 5. Нагадування про звіт щомісяця о 10:00
cron.schedule('00 10 1 * *', async () => {
console.log(`[${new Date().toLocaleString()}] Запуск відправки повідомлень...`);
try {
await Rept.send_notification();
console.log(`[${new Date().toLocaleString()}] Завдання Rept send_notification виконане успішно!`);
} catch (err) {
console.error(`[${new Date().toLocaleString()}] Помилка Rept send_notification:`, err.message);
}
});
console.log("Cron-завдання запущено.");