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) ->
|
||||
now = Date.now()
|
||||
if task.expires and (now - task.timestamp.getTime()) > config.DEVICE_ONLINE_THRESHOLD
|
||||
return true
|
||||
return false
|
||||
task.expiry <= new Date()
|
||||
|
||||
|
||||
assertPresets = (currentRequest) ->
|
||||
@@ -265,6 +262,7 @@ nextTask = (currentRequest) ->
|
||||
res = tr069.response(null, cwmpResponse)
|
||||
writeResponse(currentRequest, res)
|
||||
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) ->
|
||||
throw new Error(err) if err?
|
||||
nextTask(currentRequest)
|
||||
|
||||
@@ -85,6 +85,11 @@ expandParam = (param) ->
|
||||
|
||||
sanitizeTask = (task, callback) ->
|
||||
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
|
||||
when 'getParameterValues'
|
||||
|
||||
@@ -6,6 +6,7 @@ STRING_TYPE = '[object String]'
|
||||
ARRAY_TYPE = '[object Array]'
|
||||
OBJECT_TYPE = '[object Object]'
|
||||
REGEXP_TYPE = '[object RegExp]'
|
||||
DATE_TYPE = '[object Date]'
|
||||
|
||||
|
||||
typeOf = (obj) ->
|
||||
|
||||
Reference in new issue
Block a user