Support for task expiry.
This commit is contained in:
1 parent
823eb162ad
commit
fd378d138a
3 files changed
+8
-4
No files matched your search
+2
-4
@@ -193,10 +193,7 @@ runTask = (currentRequest, task, methodResponse) ->
|
|||||||
|
|
||||||
|
|
||||||
isTaskExpired = (task) ->
|
isTaskExpired = (task) ->
|
||||||
now = Date.now()
|
task.expiry <= new Date()
|
||||||
if task.expires and (now - task.timestamp.getTime()) > config.DEVICE_ONLINE_THRESHOLD
|
|
||||||
return true
|
|
||||||
return false
|
|
||||||
|
|
||||||
|
|
||||||
assertPresets = (currentRequest) ->
|
assertPresets = (currentRequest) ->
|
||||||
@@ -265,6 +262,7 @@ nextTask = (currentRequest) ->
|
|||||||
res = tr069.response(null, cwmpResponse)
|
res = tr069.response(null, cwmpResponse)
|
||||||
writeResponse(currentRequest, res)
|
writeResponse(currentRequest, res)
|
||||||
else if isTaskExpired(task)
|
else if isTaskExpired(task)
|
||||||
|
util.log("#{currentRequest.deviceId}: Task is expired #{task.name}(#{task._id})")
|
||||||
db.tasksCollection.remove({'_id' : mongodb.ObjectID(String(task._id))}, {safe: true}, (err, removed) ->
|
db.tasksCollection.remove({'_id' : mongodb.ObjectID(String(task._id))}, {safe: true}, (err, removed) ->
|
||||||
throw new Error(err) if err?
|
throw new Error(err) if err?
|
||||||
nextTask(currentRequest)
|
nextTask(currentRequest)
|
||||||
|
|||||||
@@ -85,6 +85,11 @@ expandParam = (param) ->
|
|||||||
|
|
||||||
sanitizeTask = (task, callback) ->
|
sanitizeTask = (task, callback) ->
|
||||||
task.timestamp = new Date(task.timestamp ? Date.now())
|
task.timestamp = new Date(task.timestamp ? Date.now())
|
||||||
|
if task.expiry?
|
||||||
|
if common.typeOf(task.expiry) is common.DATE_TYPE or isNaN(task.expiry)
|
||||||
|
task.expiry = new Date(task.expiry)
|
||||||
|
else
|
||||||
|
task.expiry = new Date(task.timestamp.getTime() + +task.expiry * 1000)
|
||||||
|
|
||||||
switch task.name
|
switch task.name
|
||||||
when 'getParameterValues'
|
when 'getParameterValues'
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ STRING_TYPE = '[object String]'
|
|||||||
ARRAY_TYPE = '[object Array]'
|
ARRAY_TYPE = '[object Array]'
|
||||||
OBJECT_TYPE = '[object Object]'
|
OBJECT_TYPE = '[object Object]'
|
||||||
REGEXP_TYPE = '[object RegExp]'
|
REGEXP_TYPE = '[object RegExp]'
|
||||||
|
DATE_TYPE = '[object Date]'
|
||||||
|
|
||||||
|
|
||||||
typeOf = (obj) ->
|
typeOf = (obj) ->
|
||||||
|
|||||||
Reference in new issue
Block a user