Files
Sheep-Service/cron/cron.js
T

57 lines
2.5 KiB
JavaScript

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');
// 1. Резервна копія БД щодня о 22:35
cron.schedule("30 22 * * *", () => {
Backup.database();
console.log(`[${new Date().toLocaleString()}] Завдання «Backup» виконане!`);
});
// 2. Перевірка стендів без графіку щосуботи о 18:00
cron.schedule("0 8 * * 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-завдання запущено.");