Skip to content

Commit 8a91c87

Browse files
committed
refactor code and bump chunk size
1 parent b487fa0 commit 8a91c87

File tree

1 file changed

+14
-18
lines changed

1 file changed

+14
-18
lines changed

services/apps/script_executor_worker/src/workflows/fixDeletedMemberOrgAffilations.ts

+14-18
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,18 @@
11
import { continueAsNew, proxyActivities } from '@temporalio/workflow'
22

3-
import * as commonActivities from '../activities/common'
4-
import * as activities from '../activities/fix-deleted-member-org-affilations'
5-
import * as syncActivities from '../activities/sync/member'
3+
import * as activities from '../activities'
64
import { IFixDeletedMemberOrgAffilationsArgs } from '../types'
75

8-
const activity = proxyActivities<typeof activities>({
6+
const {
7+
getProcessedMemberOrgAffiliations,
8+
calculateMemberAffiliations,
9+
syncMembersBatch,
10+
queueOrgForAggComputation,
11+
deleteProcessedMemberOrgAffiliations,
12+
} = proxyActivities<typeof activities>({
913
startToCloseTimeout: '45 minutes',
1014
})
1115

12-
const syncActivity = proxyActivities<typeof syncActivities>({
13-
startToCloseTimeout: '30 minutes',
14-
})
15-
16-
const commonActivity = proxyActivities<typeof commonActivities>({
17-
startToCloseTimeout: '30 minutes',
18-
})
19-
2016
export async function fixDeletedMemberOrgAffilations(
2117
args: IFixDeletedMemberOrgAffilationsArgs,
2218
): Promise<void> {
@@ -27,29 +23,29 @@ export async function fixDeletedMemberOrgAffilations(
2723
)
2824

2925
// Find affected memberId and orgId
30-
const affectedMembers = await activity.getProcessedMemberOrgAffiliations(BATCH_SIZE)
26+
const affectedMembers = await getProcessedMemberOrgAffiliations(BATCH_SIZE)
3127

3228
if (affectedMembers.length === 0) {
3329
console.log('No processed member org affiliations found!')
3430
return
3531
}
3632

37-
const CHUNK_SIZE = 10
33+
const CHUNK_SIZE = 25
3834
for (let i = 0; i < affectedMembers.length; i += CHUNK_SIZE) {
3935
const chunk = affectedMembers.slice(i, i + CHUNK_SIZE)
4036
await Promise.all(
4137
chunk.map(async ({ memberId, organizationId }) => {
4238
// Calculate affiliation
43-
await activity.calculateMemberAffiliations(memberId)
39+
await calculateMemberAffiliations(memberId)
4440

4541
// Sync member
46-
await syncActivity.syncMembersBatch([memberId], true)
42+
await syncMembersBatch([memberId], true)
4743

4844
// Add orgId to redisCache
4945
// It will be picked up by the spawnOrganizationAggregatesComputation workflow
50-
await commonActivity.queueOrganizationForAggComputation(organizationId)
46+
await queueOrgForAggComputation(organizationId)
5147

52-
await activity.deleteProcessedMemberOrgAffiliations(memberId, organizationId)
48+
await deleteProcessedMemberOrgAffiliations(memberId, organizationId)
5349
}),
5450
)
5551
}

0 commit comments

Comments
 (0)