refactor: memoize pings
This commit is contained in:
parent
d689927b01
commit
6443eafeed
1 changed files with 26 additions and 6 deletions
|
|
@ -1,7 +1,27 @@
|
|||
const plugins = require('../plugins')
|
||||
const mem = require('mem')
|
||||
|
||||
module.exports = (req, res, next) =>
|
||||
plugins(req.settings, req.deviceId)
|
||||
.recordPing(req.deviceTime, req.query.version, req.query.model)
|
||||
.then(() => next())
|
||||
.catch(() => next())
|
||||
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({
|
||||
deviceId: req.deviceId,
|
||||
deviceTime: req.deviceTime,
|
||||
model: req.query.model,
|
||||
version: req.query.version,
|
||||
settings: req.settings,
|
||||
})
|
||||
next()
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue