refactor: batch record pings
This commit is contained in:
parent
be06ea5097
commit
1b26150499
4 changed files with 61 additions and 46 deletions
|
|
@ -1,27 +1,13 @@
|
|||
const mem = require('mem')
|
||||
const { enqueueRecordPing } = require('../machine-loader')
|
||||
|
||||
const logger = require('../logger')
|
||||
const plugins = require('../plugins')
|
||||
const T = require('../time')
|
||||
|
||||
const record = mem(
|
||||
({ deviceId, deviceTime, model, version, settings }) =>
|
||||
plugins(settings, deviceId)
|
||||
.recordPing(deviceTime, version, model)
|
||||
.catch(logger.error),
|
||||
{
|
||||
cacheKey: ({ deviceId }) => deviceId,
|
||||
maxAge: (3 / 2) * T.minute, // lib/notifier/codes.js
|
||||
},
|
||||
)
|
||||
|
||||
module.exports = (req, res, next) => {
|
||||
record({
|
||||
const record = (req, res, next) => {
|
||||
enqueueRecordPing({
|
||||
deviceId: req.deviceId,
|
||||
deviceTime: req.deviceTime,
|
||||
last_online: req.deviceTime,
|
||||
model: req.query.model,
|
||||
version: req.query.version,
|
||||
settings: req.settings,
|
||||
})
|
||||
next()
|
||||
}
|
||||
|
||||
module.exports = record
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue