ifms-pti/server/src/cronTasks.js
2022-12-08 10:24:45 -04:00

58 lines
1.2 KiB
JavaScript

import cron from 'node-cron'
import oui from 'oui'
import { User } from './classes/User'
import { deleteOldLogs, logInfo, logSuccess } from './lib/logger'
import { updateAccessPoints } from './lib/accessPoints'
import {
deleteOldStats,
generateStatsForAllAccessPoints
} from './lib/accessPointStats'
import { generateStatsForAllNetworks } from './lib/networkStats'
// WARNING! All crontasks are blocking! Do not await inside it
logInfo({
tags: ['cron'],
message: 'Agendando tarefas...'
})
cron.schedule('0 0 4 * * *', () => {
logInfo({
tags: ['cron', 'user'],
message: `Importação dos usuários do AD iniciada.`
})
User.importAllUsers()
})
cron.schedule('0 0 3 * * *', () => {
oui.update()
logSuccess({
tags: ['cron', 'oui'],
message: `Lista de OUIs atualizada`
})
})
cron.schedule('0 0 2 * * *', () => {
deleteOldLogs()
logSuccess({
tags: ['cron', 'log'],
message: `Logs antigos deletados`
})
})
cron.schedule('0 */2 * * * *', () => {
updateAccessPoints().catch(console.log)
})
cron.schedule('0 */1 * * * *', () => {
generateStatsForAllAccessPoints()
generateStatsForAllNetworks()
})
cron.schedule('0 0 2 * * *', () => {
deleteOldStats()
})