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) =>
|
const logger = require('../logger')
|
||||||
plugins(req.settings, req.deviceId)
|
const plugins = require('../plugins')
|
||||||
.recordPing(req.deviceTime, req.query.version, req.query.model)
|
const T = require('../time')
|
||||||
.then(() => next())
|
|
||||||
.catch(() => next())
|
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