Improve performance
This commit is contained in:
parent
2984f579f4
commit
35a064e42f
|
@ -26,29 +26,27 @@ async function getOnlineDevices() {
|
|||
return onlineDevices
|
||||
}
|
||||
|
||||
async function updateDevicesStatus() {
|
||||
async function updateDevicesStatus(onlineDevices) {
|
||||
const lastSeenThreshold = subMinutes(new Date(), RECENT_THRESHOLD_IN_MINUTES)
|
||||
|
||||
const onlineDevicesMacs = onlineDevices.map(device => device.mac)
|
||||
|
||||
const recent = prisma.wifiDevice.updateMany({
|
||||
where: {
|
||||
lastSeen: {
|
||||
gt: lastSeenThreshold
|
||||
}
|
||||
lastSeen: { gt: lastSeenThreshold },
|
||||
status: 'ONLINE',
|
||||
mac: { notIn: onlineDevicesMacs }
|
||||
},
|
||||
data: {
|
||||
status: 'RECENT'
|
||||
}
|
||||
data: { status: 'RECENT' }
|
||||
})
|
||||
|
||||
const offline = prisma.wifiDevice.updateMany({
|
||||
where: {
|
||||
lastSeen: {
|
||||
lte: lastSeenThreshold
|
||||
}
|
||||
lastSeen: { lte: lastSeenThreshold },
|
||||
status: { not: 'OFFLINE' },
|
||||
mac: { notIn: onlineDevicesMacs }
|
||||
},
|
||||
data: {
|
||||
status: 'OFFLINE'
|
||||
}
|
||||
data: { status: 'OFFLINE' }
|
||||
})
|
||||
|
||||
return prisma.$transaction([recent, offline])
|
||||
|
@ -172,7 +170,8 @@ function updateDevicesInfo() {
|
|||
const startTime = performance.now()
|
||||
|
||||
const onlineDevices = await getOnlineDevices()
|
||||
await updateDevicesStatus()
|
||||
|
||||
await updateDevicesStatus(onlineDevices)
|
||||
|
||||
const endTime = performance.now()
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user