diff --git a/ingesters/src/generateEmbeddings.ts b/ingesters/src/generateEmbeddings.ts index f999cd6..e4a2fad 100644 --- a/ingesters/src/generateEmbeddings.ts +++ b/ingesters/src/generateEmbeddings.ts @@ -184,6 +184,7 @@ async function ingestSource(source: DocumentSource): Promise { * Main function to run the ingestion process */ async function main() { + let exitCode = 0; try { // Prompt user for target const target = await promptForTarget(); @@ -201,12 +202,18 @@ async function main() { logger.info('All specified ingestion processes completed successfully.'); } catch (error) { + exitCode = 1; logger.error('An error occurred during the ingestion process:', error); } finally { - // Clean up resources - if (vectorStore) { - await vectorStore.close(); - process.exit(0); + // Clean up resources and exit deterministically + try { + if (vectorStore) { + await vectorStore.close(); + } + } catch (cleanupError) { + logger.warn('Error while cleaning up resources:', cleanupError); + } finally { + process.exit(exitCode); } } }