@@ -68,7 +68,9 @@ export const syncMetadata = task({
68
68
throw new Error ( `Error fetching data from OAI-PMH server for ${ payload . startDate } - ${ payload . untilDate } ` ) ;
69
69
}
70
70
71
- const parsedData = await parseMetadata . triggerAndWait ( responseTextData ) ;
71
+ const parsedData = await parseMetadata . triggerAndWait ( responseTextData , {
72
+ idempotencyKey : `parse-metadata-${ payload . jobId } -${ payload . startDate } -${ payload . untilDate } ` ,
73
+ } ) ;
72
74
73
75
if ( ! parsedData . ok ) {
74
76
throw new Error ( 'Error parsing data' ) ;
@@ -83,7 +85,7 @@ export const syncMetadata = task({
83
85
// send the batch to the add_article_metadata_batch event
84
86
// no need to wait for the result
85
87
await addArticleMetadaBatch . batchTrigger (
86
- batches . map ( ( batch , index ) => ( { payload : { batch, batchIndex : index } } ) )
88
+ batches . map ( ( batch , index ) => ( { payload : { batch, batchIndex : index , jobId : payload . jobId } } ) )
87
89
) ;
88
90
89
91
const token = getResumptionToken ( parsedData . output . resumptionToken , parsedData . output . records . length ) ;
@@ -93,11 +95,17 @@ export const syncMetadata = task({
93
95
if ( token ) {
94
96
// send the resumption token to the same event
95
97
// no need to wait for the result
96
- await syncMetadata . trigger ( {
97
- startDate : payload . startDate ,
98
- untilDate : payload . untilDate ,
99
- resumptionToken : token ,
100
- } ) ;
98
+ await syncMetadata . trigger (
99
+ {
100
+ jobId : payload . jobId ,
101
+ startDate : payload . startDate ,
102
+ untilDate : payload . untilDate ,
103
+ resumptionToken : token ,
104
+ } ,
105
+ {
106
+ idempotencyKey : `sync-metadata-${ payload . jobId } -${ payload . startDate } -${ payload . untilDate } ` ,
107
+ }
108
+ ) ;
101
109
}
102
110
} ,
103
111
} ) ;
0 commit comments