Fix expired tasks not getting deleted

This commit is contained in:
Zaid Abdulla committed 2017-06-20 13:54:42 -07:00
1 parent 2cba450128
commit ae4526defe
1 file changed
+11 -10
+11 -10
View File
@@ -377,26 +377,29 @@ nextRpc = (sessionContext) ->
session.clearProvisions(sessionContext)
for task in sessionContext.tasks
channel = "task_#{task._id}"
# Clear expired tasks
sessionContext.tasks = sessionContext.tasks.filter((task) ->
return true if not (task.expiry <= sessionContext.timestamp)
# Delete if expired
if task.expiry <= sessionContext.timestamp
logger.accessInfo({
sessionContext: sessionContext
message: 'Task expired'
task: task
})
sessionContext.doneTasks ?= []
sessionContext.doneTasks.push(String(task._id))
sessionContext.doneTasks.push(task._id)
channel = "task_#{task._id}"
if channel of sessionContext.faults
delete sessionContext.faults[channel]
sessionContext.faultsTouched ?= {}
sessionContext.faultsTouched[channel] = true
continue
if sessionContext.faults[channel]
continue
return false
)
task = sessionContext.tasks.find((task) -> !sessionContext.faults["task_#{task._id}"])
return applyPresets(sessionContext) if not task
switch task.name
when 'getParameterValues'
@@ -434,8 +437,6 @@ nextRpc = (sessionContext) ->
return throwError(new Error('Task name not recognized'), sessionContext.httpResponse)
return nextRpc(sessionContext)
return applyPresets(sessionContext)
)