Merge pull request #2192 from GLEF1X/perf/optimize-group-delete

perf(group-fns): optimize sequential delete to be concurrent
This commit is contained in:
Maidul Islam
2024-07-29 22:13:00 -04:00
committed by GitHub
+7 -2
View File
@@ -336,8 +336,10 @@ export const removeUsersFromGroupByUserIds = async ({
) )
); );
// TODO: this part can be optimized const promises: Array<Promise<void>> = [];
for await (const userId of userIds) { for (const userId of userIds) {
promises.push(
(async () => {
const t = await userGroupMembershipDAL.filterProjectsByUserMembership(userId, group.id, projectIds, tx); const t = await userGroupMembershipDAL.filterProjectsByUserMembership(userId, group.id, projectIds, tx);
const projectsToDeleteKeyFor = projectIds.filter((p) => !t.has(p)); const projectsToDeleteKeyFor = projectIds.filter((p) => !t.has(p));
@@ -360,7 +362,10 @@ export const removeUsersFromGroupByUserIds = async ({
}, },
tx tx
); );
})()
);
} }
await Promise.all(promises);
} }
if (membersToRemoveFromGroupPending.length) { if (membersToRemoveFromGroupPending.length) {