[Tasks] Only allow shared task completion once (#2422)

This prevents re-triggering completion when a shared task contains
optional elements
This commit is contained in:
hg 2022-09-03 17:25:18 -04:00 committed by GitHub
parent aa3c72c1de
commit 89382d5e4a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1724,6 +1724,12 @@ bool SharedTaskManager::HandleCompletedActivities(SharedTask* s)
void SharedTaskManager::HandleCompletedTask(SharedTask* s)
{
auto db_task = s->GetDbSharedTask();
if (db_task.completion_time > 0)
{
LogTasksDetail("[HandleCompletedTask] shared task [{}] already completed", db_task.id);
return;
}
LogTasksDetail("[HandleCompletedTask] Marking shared task [{}] completed", db_task.id);
db_task.completion_time = std::time(nullptr);
db_task.is_locked = true;