Fix expired tasks not getting deleted
This commit is contained in:
1 parent
2cba450128
commit
ae4526defe
1 file changed
+11
-10
+11
-10
@@ -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)
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user