diff --git a/src/apptaskmanager.js b/src/apptaskmanager.js index b2dfae1f7..a5a3f4f74 100644 --- a/src/apptaskmanager.js +++ b/src/apptaskmanager.js @@ -51,14 +51,13 @@ async function drain() { // background tasks.startTask(taskId, Object.assign(options, { logFile })) - .then(async (result) => { - onFinished(null, result); - + .then(async (result) => await safe(onFinished(null, result), { debug })) + .catch(async (error) => await safe(onFinished(error), { debug })) + .finally(async () => { delete gActiveTasks[appId]; await locks.release(`${locks.TYPE_APP_PREFIX}${appId}`); scheduler.resumeAppJobs(appId); - }) - .catch(onFinished); + }); } gDrainTimerId = null;