Fix: do not use blocking code in cron tasks

This commit is contained in:
Douglas Barone 2021-12-22 08:33:15 -04:00
parent 1b628f36b7
commit 8326c09c9c

View File

@ -4,35 +4,32 @@ import oui from 'oui'
import { User } from './classes/User' import { User } from './classes/User'
import { deleteOldLogs, logInfo, logSuccess } from './lib/logger' import { deleteOldLogs, logInfo, logSuccess } from './lib/logger'
// WARNING! All crontasks are blocking! Do not await inside it
logInfo({ logInfo({
tags: ['cron'], tags: ['cron'],
message: 'Agendando tarefas...' message: 'Agendando tarefas...'
}) })
cron.schedule('0 0 4 * * *', async () => { cron.schedule('0 0 4 * * *', () => {
logInfo({ logInfo({
tags: ['cron', 'user'], tags: ['cron', 'user'],
message: `Importação dos usuários do AD iniciada.` message: `Importação dos usuários do AD iniciada.`
}) })
const users = await User.importAllUsers() User.importAllUsers()
logInfo({
tags: ['cron', 'user'],
message: `Foram importados ${users} usuários do AD.`
})
}) })
cron.schedule('0 0 3 * * *', async () => { cron.schedule('0 0 3 * * *', () => {
await oui.update() oui.update()
logSuccess({ logSuccess({
tags: ['cron', 'oui'], tags: ['cron', 'oui'],
message: `Lista de OUIs atualizada` message: `Lista de OUIs atualizada`
}) })
}) })
cron.schedule('0 0 2 * * *', async () => { cron.schedule('0 0 2 * * *', () => {
await deleteOldLogs() deleteOldLogs()
logSuccess({ logSuccess({
tags: ['cron', 'log'], tags: ['cron', 'log'],
message: `Logs antigos deletados` message: `Logs antigos deletados`