File tree Expand file tree Collapse file tree
apps/api/src/instrument-records Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -142,7 +142,8 @@ let initData: Map<
142142
143143function handleInit ( data : InitData ) {
144144 initData = new Map ( data . map ( ( instrument ) => [ instrument . id , instrument ] ) ) ;
145- return { success : true } ;
145+
146+ parentPort ?. postMessage ( { success : true } ) ;
146147}
147148
148149function handleChunkComplete ( _data : ChunkCompleteData ) {
Original file line number Diff line number Diff line change @@ -264,16 +264,26 @@ export class InstrumentRecordsService {
264264 } ;
265265 } ) ;
266266
267- const initWorker = new Worker ( join ( __dirname , 'export-worker.ts' ) ) ;
267+ const initWorkerPromise = new Promise < InitialMessage > ( ( resolve , reject ) => {
268+ const initWorker = new Worker ( join ( __dirname , 'export-worker.ts' ) ) ;
268269
269- initWorker . postMessage ( { data : availableInstrumentArray , type : 'INIT' } ) ;
270+ initWorker . postMessage ( { data : availableInstrumentArray , type : 'INIT' } ) ;
270271
271- initWorker . on ( 'message' , ( message : InitialMessage ) => {
272- if ( ! message . success ) {
273- throw Error ( 'Initial thread failed' ) ;
274- }
272+ initWorker . on ( 'message' , ( message : InitialMessage ) => {
273+ if ( ! message . success ) {
274+ reject ( new Error ( 'Error in initial thread' ) ) ;
275+ }
276+ resolve ( message ) ;
277+ void initWorker . terminate ( ) ;
278+ } ) ;
275279 } ) ;
276280
281+ try {
282+ await initWorkerPromise ;
283+ } catch ( error ) {
284+ console . error ( 'Worker failed:' , error ) ;
285+ }
286+
277287 const workerPromises = chunks . map ( ( chunk ) => {
278288 return new Promise < InstrumentRecordsExport > ( ( resolve , reject ) => {
279289 const worker = new Worker ( join ( __dirname , 'export-worker.ts' ) ) ;
You can’t perform that action at this time.
0 commit comments