@@ -108,38 +108,37 @@ async function start() {
108108 }
109109 requesterSecret = validateRequesterSecret ( requesterSecret ) ;
110110
111- const bulkSize = parseInt ( IEXEC_BULK_SLICE_SIZE ) || 0 ;
111+ const bulkSize = parseInt ( IEXEC_BULK_SLICE_SIZE , 10 ) || 0 ;
112112 const results = [ ] ;
113113
114114 if ( bulkSize > 0 ) {
115115 // Process multiple protected data
116- for ( let i = 1 ; i <= bulkSize ; i ++ ) {
116+ const promises = [ ] ;
117+ for ( let i = 1 ; i <= bulkSize ; i += 1 ) {
117118 const datasetFilename = process . env [ `IEXEC_DATASET_${ i } _FILENAME` ] ;
118-
119- try {
120- const result = await processProtectedData ( i , {
121- IEXEC_IN ,
122- IEXEC_OUT : workerEnv . IEXEC_OUT ,
123- appDeveloperSecret,
124- requesterSecret,
125- datasetFilename,
126- } ) ;
127-
128- results . push ( result ) ;
129- } catch ( error ) {
130- // Create an error result for this dataset
131- results . push ( {
132- index : i ,
133- resultFileName : datasetFilename
134- ? `${ datasetFilename } .txt`
135- : `dataset-${ i } .txt` ,
136- response : {
137- status : 500 ,
138- message : `Failed to process dataset ${ i } : ${ error . message } ` ,
139- } ,
140- } ) ;
141- }
119+
120+ const promise = processProtectedData ( i , {
121+ IEXEC_IN ,
122+ IEXEC_OUT : workerEnv . IEXEC_OUT ,
123+ appDeveloperSecret,
124+ requesterSecret,
125+ datasetFilename,
126+ } ) . then ( result => result ) . catch ( error => ( {
127+ index : i ,
128+ resultFileName : datasetFilename
129+ ? `${ datasetFilename } .txt`
130+ : `dataset-${ i } .txt` ,
131+ response : {
132+ status : 500 ,
133+ message : `Failed to process dataset ${ i } : ${ error . message } ` ,
134+ } ,
135+ } ) ) ;
136+
137+ promises . push ( promise ) ;
142138 }
139+
140+ const bulkResults = await Promise . all ( promises ) ;
141+ results . push ( ...bulkResults ) ;
143142 } else {
144143 // Process single protected data
145144 const result = await processProtectedData ( 0 , {
0 commit comments