From 0936874c78aa5c1cf30d33f713853221ce7a1be2 Mon Sep 17 00:00:00 2001 From: Josh Harvey Date: Tue, 6 Dec 2016 02:57:40 +0200 Subject: [PATCH] improve ping db pruning --- lib/postgresql_interface.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/postgresql_interface.js b/lib/postgresql_interface.js index e6803a9a..f295b27f 100644 --- a/lib/postgresql_interface.js +++ b/lib/postgresql_interface.js @@ -244,16 +244,20 @@ exports.cartridgeCounts = function cartridgeCounts (deviceId) { }) } +// Note: since we only prune on insert, we'll always have +// last known state. exports.machineEvent = function machineEvent (rec) { - const TTL = 2 * 60 * 60 * 1000 const fields = ['id', 'device_id', 'event_type', 'note', 'device_time'] const sql = getInsertQuery('machine_events', fields) const values = [rec.id, rec.deviceId, rec.eventType, rec.note, rec.deviceTime] - const deleteSql = 'DELETE FROM machine_events WHERE (EXTRACT(EPOCH FROM (now() - created))) * 1000 > $1' - const deleteValues = [TTL] + + const deleteSql = `delete from machine_events + where device_id=$1 + and event_type=$2 + and created < now() - interval '2 hours'` return db.none(sql, values) - .then(() => db.none(deleteSql, deleteValues)) + .then(() => db.none(deleteSql, [rec.deviceId, rec.eventType])) } exports.devices = function devices () {