Cache invalidation in API for presets and presets hash
This commit is contained in:
1 parent
ea5c92aaa0
commit
913388ab34
1 file changed
+14
-3
+14
-3
@@ -67,6 +67,8 @@ else
|
|||||||
preset._id = presetName
|
preset._id = presetName
|
||||||
|
|
||||||
db.presetsCollection.save(preset, (err) ->
|
db.presetsCollection.save(preset, (err) ->
|
||||||
|
db.memcached.del('presets', (err, res) ->
|
||||||
|
)
|
||||||
db.memcached.del('presets_hash', (err, res) ->
|
db.memcached.del('presets_hash', (err, res) ->
|
||||||
)
|
)
|
||||||
if err
|
if err
|
||||||
@@ -78,6 +80,8 @@ else
|
|||||||
)
|
)
|
||||||
else if request.method == 'DELETE'
|
else if request.method == 'DELETE'
|
||||||
db.presetsCollection.remove({'_id' : presetName}, (err, removedCount) ->
|
db.presetsCollection.remove({'_id' : presetName}, (err, removedCount) ->
|
||||||
|
db.memcached.del('presets', (err, res) ->
|
||||||
|
)
|
||||||
db.memcached.del('presets_hash', (err, res) ->
|
db.memcached.del('presets_hash', (err, res) ->
|
||||||
)
|
)
|
||||||
if err
|
if err
|
||||||
@@ -96,6 +100,8 @@ else
|
|||||||
tag = querystring.unescape(r[2])
|
tag = querystring.unescape(r[2])
|
||||||
if request.method == 'POST'
|
if request.method == 'POST'
|
||||||
db.devicesCollection.update({'_id' : deviceId}, {'$addToSet' : {'_tags' : tag}}, {safe: true}, (err) ->
|
db.devicesCollection.update({'_id' : deviceId}, {'$addToSet' : {'_tags' : tag}}, {safe: true}, (err) ->
|
||||||
|
db.memcached.del("#{deviceId}_presets_hash", (err, res) ->
|
||||||
|
)
|
||||||
if err
|
if err
|
||||||
response.writeHead(500)
|
response.writeHead(500)
|
||||||
response.end(err)
|
response.end(err)
|
||||||
@@ -105,6 +111,8 @@ else
|
|||||||
)
|
)
|
||||||
else if request.method == 'DELETE'
|
else if request.method == 'DELETE'
|
||||||
db.devicesCollection.update({'_id' : deviceId}, {'$pull' : {'_tags' : tag}}, {safe: true}, (err) ->
|
db.devicesCollection.update({'_id' : deviceId}, {'$pull' : {'_tags' : tag}}, {safe: true}, (err) ->
|
||||||
|
db.memcached.del("#{deviceId}_presets_hash", (err, res) ->
|
||||||
|
)
|
||||||
if err
|
if err
|
||||||
response.writeHead(500)
|
response.writeHead(500)
|
||||||
response.end(err)
|
response.end(err)
|
||||||
@@ -119,9 +127,11 @@ else
|
|||||||
if request.method == 'POST'
|
if request.method == 'POST'
|
||||||
deviceId = querystring.unescape(DEVICE_TASKS_REGEX.exec(urlParts.pathname)[1])
|
deviceId = querystring.unescape(DEVICE_TASKS_REGEX.exec(urlParts.pathname)[1])
|
||||||
if body
|
if body
|
||||||
t = JSON.parse(body)
|
task = JSON.parse(body)
|
||||||
t.device = deviceId
|
task.device = deviceId
|
||||||
apiFunctions.insertTasks(t, (err) ->
|
apiFunctions.insertTasks(task, (err) ->
|
||||||
|
db.memcached.del("#{deviceId}_presets_hash", (err, res) ->
|
||||||
|
)
|
||||||
if err
|
if err
|
||||||
response.writeHead(500)
|
response.writeHead(500)
|
||||||
response.end(err)
|
response.end(err)
|
||||||
@@ -182,6 +192,7 @@ else
|
|||||||
else if action is '/retry'
|
else if action is '/retry'
|
||||||
if request.method == 'POST'
|
if request.method == 'POST'
|
||||||
db.tasksCollection.update({_id : taskId}, {$unset : {fault : 1}, $inc : {retries : 1}, '$set' : {timestamp : new Date()}}, (err, count) ->
|
db.tasksCollection.update({_id : taskId}, {$unset : {fault : 1}, $inc : {retries : 1}, '$set' : {timestamp : new Date()}}, (err, count) ->
|
||||||
|
# TODO need to invalidate presets hash for the device
|
||||||
response.writeHead(200)
|
response.writeHead(200)
|
||||||
response.end()
|
response.end()
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in new issue
Block a user