@@ -19,15 +19,18 @@ export async function generateMemberMergeSuggestions(
1919 const PARALLEL_SUGGESTION_PROCESSING = 10
2020 const SIMILARITY_CONFIDENCE_SCORE_THRESHOLD = 0.75
2121
22- let lastUuid : string = args . lastUuid || null
22+ let lastGeneratedAt : string = args . lastGeneratedAt || null
2323
2424 // get the latest generation time of tenant's member suggestions, we'll only get members created after that for new suggestions
25- const lastGeneratedAt = await activity . findTenantsLatestMemberSuggestionGeneratedAt ( args . tenantId )
25+ if ( ! lastGeneratedAt ) {
26+ lastGeneratedAt = await activity . findTenantsLatestMemberSuggestionGeneratedAt ( args . tenantId )
27+ }
28+
29+ console . log ( '[generateMemberMergeSuggestions] Last generated at:' , lastGeneratedAt )
2630
2731 const result : IMemberBaseForMergeSuggestions [ ] = await activity . getMembers (
2832 args . tenantId ,
2933 PAGE_SIZE ,
30- lastUuid ,
3134 lastGeneratedAt ,
3235 )
3336
@@ -51,7 +54,9 @@ export async function generateMemberMergeSuggestions(
5154 return
5255 }
5356
54- lastUuid = result . length > 0 ? result [ result . length - 1 ] ?. id : null
57+ const lastProcessedAt = result . length > 0 ? result [ result . length - 1 ] ?. createdAt : null
58+
59+ console . log ( '[generateMemberMergeSuggestions] Last processed member createdAt:' , lastProcessedAt )
5560
5661 const allMergeSuggestions : IMemberMergeSuggestion [ ] = [ ]
5762
@@ -109,5 +114,15 @@ export async function generateMemberMergeSuggestions(
109114 )
110115 }
111116
112- await continueAsNew < typeof generateMemberMergeSuggestions > ( { tenantId : args . tenantId , lastUuid } )
117+ // if testRun > 3, we'll stop the workflow
118+ // todo: remove this
119+ if ( args . testRun > 3 ) {
120+ return
121+ }
122+
123+ await continueAsNew < typeof generateMemberMergeSuggestions > ( {
124+ tenantId : args . tenantId ,
125+ lastGeneratedAt : lastProcessedAt ,
126+ testRun : args . testRun + 1 ,
127+ } )
113128}
0 commit comments