ifms-pti/server/src/cronTasks.js
Douglas Barone 706660f73e Added logger
2020-12-18 14:33:34 -04:00

79 lines
1.5 KiB
JavaScript

import cron from 'node-cron'
import { updateDevicesInfo } from './lib/wifiDevices'
import { User } from './classes/User'
import oui from 'oui'
import { deleteOldLogs, log, logInfo, logSuccess } from './lib/logger'
import { updateUserIdMappings } from './lib/paloalto'
logInfo({
tags: ['cron'],
message: 'Scheduling tasks...'
})
cron.schedule('*/1 * * * *', async () => {
logInfo({
tags: ['cron', 'wifiDevices'],
message: 'updateDevicesInfo started'
})
const devices = await updateDevicesInfo()
logInfo({
tags: ['cron', 'wifiDevices'],
message: `updateDevicesInfo updated ${devices} devices`
})
let mappings = 0
if (devices > 0) {
logInfo({
tags: ['cron', 'user-id'],
message: `updateUserIdMappings started`
})
mappings = await updateUserIdMappings()
logInfo({
tags: ['cron', 'user-id'],
message: `updateUserIdMappings updated ${mappings} user-id mappings`
})
}
})
cron.schedule(
'0 0 0 * * *',
async () => {
logInfo({
tags: ['cron', 'user'],
message: `User.importAllUsers started`
})
const users = await User.importAllUsers()
logInfo({
tags: ['cron', 'user'],
message: `User.importAllUsers imported ${users} users`
})
},
{}
)
cron.schedule('0 0 0 * * *', async () => {
await oui.update()
logSuccess({
tags: ['cron', 'oui'],
message: `OUI list updated`
})
})
cron.schedule('0 0 0 * * *', async () => {
await deleteOldLogs()
logSuccess({
tags: ['cron', 'log'],
message: `Old logs deleted`
})
})