Files
Sheep-Service/cron/cron.js

57 lines
2.5 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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 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-завдання запущено.");