From 18b12ad918121a1813ecd35b328916e562e91d9d Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Sat, 11 Jan 2025 21:22:22 +0000 Subject: [PATCH] [autofix.ci] apply automated fixes --- backend/src/build-system/context.ts | 18 ++-- backend/src/build-system/retry-handler.ts | 98 +++++++++++-------- .../embedding/openai-embbeding-provider.ts | 6 +- 3 files changed, 68 insertions(+), 54 deletions(-) diff --git a/backend/src/build-system/context.ts b/backend/src/build-system/context.ts index 1d71e280..483d51bc 100644 --- a/backend/src/build-system/context.ts +++ b/backend/src/build-system/context.ts @@ -52,14 +52,13 @@ export class BuilderContext { waiting: new Set(), }; - private globalPromises: Set> = new Set(); private logger: Logger; private globalContext: Map = new Map(); private nodeData: Map = new Map(); private handlerManager: BuildHandlerManager; - private retryHandler : RetryHandler; + private retryHandler: RetryHandler; private monitor: BuildMonitor; public model: ModelProvider; public virtualDirectory: VirtualDirectory; @@ -194,7 +193,7 @@ export class BuilderContext { this.logger.log(`Executing node ${node.id} in parallel batch`); res = this.executeNodeById(node.id); this.globalPromises.add(res); - + this.monitor.endNodeExecution( node.id, this.sequence.id, @@ -212,7 +211,7 @@ export class BuilderContext { throw error; } }); - + await Promise.all(this.globalPromises); const activeModelPromises = this.model.getAllActivePromises(); if (activeModelPromises.length > 0) { @@ -450,16 +449,19 @@ export class BuilderContext { if (!handler) { throw new Error(`No handler found for node: ${node.id}`); } - try{ + try { return await handler.run(this, node.options); - }catch(e){ + } catch (e) { this.logger.error(`retrying ${node.id}`); - const result = await this.retryHandler.retryMethod(e, (node) => this.invokeNodeHandler(node), [node]); + const result = await this.retryHandler.retryMethod( + e, + (node) => this.invokeNodeHandler(node), + [node], + ); if (result === undefined) { throw e; } return result as unknown as BuildResult; } } - } diff --git a/backend/src/build-system/retry-handler.ts b/backend/src/build-system/retry-handler.ts index a2d61c0c..597debc3 100644 --- a/backend/src/build-system/retry-handler.ts +++ b/backend/src/build-system/retry-handler.ts @@ -1,47 +1,59 @@ -import { Logger } from "@nestjs/common"; +import { Logger } from '@nestjs/common'; export class RetryHandler { - private readonly logger = new Logger(RetryHandler.name); - private static instance: RetryHandler; - private retryCounts: Map = new Map(); - public static getInstance(){ - if(this.instance)return this.instance; - return new RetryHandler(); - } - async retryMethod(error: Error, upperMethod: (...args: any[]) => void, args: any[]): Promise{ - const errorName = error.name; - let retryCount = this.retryCounts.get(errorName) || 0; - let isRetrying = this.retryCounts.has(errorName); - let res ; - switch (errorName) { - case 'GeneratedTagError': - case 'TimeoutError': - this.logger.warn(`Retryable error occurred: ${error.message}. Retrying...`); - if(!isRetrying)this.retryCounts.set(errorName, 0); - else this.retryCounts.set(errorName, this.retryCounts.get(errorName)+1); - while (retryCount < 3) { - try { - this.logger.log(`retryCount: ${retryCount}`) - res = await upperMethod(...args); - - } catch (e) { - if (e.name === errorName) { - retryCount++; - this.retryCounts.set(errorName, retryCount); - this.logger.warn(`Retryable error occurred: ${e.name}: ${e.message}. Retrying attempt ${retryCount}...`); - } else { - this.logger.error(`Non-retryable error occurred: ${e.name}: ${e.message}. Terminating process.`); - throw e; - } - } - } - this.retryCounts.delete(errorName); - if(res)return res; - this.logger.error('Max retry attempts reached. Terminating process.'); - throw new Error('Max retry attempts reached'); - default: - this.logger.error(`Non-retryable error occurred: ${error.name}: ${error.message}. Terminating process.`); - throw error; + private readonly logger = new Logger(RetryHandler.name); + private static instance: RetryHandler; + private retryCounts: Map = new Map(); + public static getInstance() { + if (this.instance) return this.instance; + return new RetryHandler(); + } + async retryMethod( + error: Error, + upperMethod: (...args: any[]) => void, + args: any[], + ): Promise { + const errorName = error.name; + let retryCount = this.retryCounts.get(errorName) || 0; + const isRetrying = this.retryCounts.has(errorName); + let res; + switch (errorName) { + case 'GeneratedTagError': + case 'TimeoutError': + this.logger.warn( + `Retryable error occurred: ${error.message}. Retrying...`, + ); + if (!isRetrying) this.retryCounts.set(errorName, 0); + else + this.retryCounts.set(errorName, this.retryCounts.get(errorName) + 1); + while (retryCount < 3) { + try { + this.logger.log(`retryCount: ${retryCount}`); + res = await upperMethod(...args); + } catch (e) { + if (e.name === errorName) { + retryCount++; + this.retryCounts.set(errorName, retryCount); + this.logger.warn( + `Retryable error occurred: ${e.name}: ${e.message}. Retrying attempt ${retryCount}...`, + ); + } else { + this.logger.error( + `Non-retryable error occurred: ${e.name}: ${e.message}. Terminating process.`, + ); + throw e; + } + } } + this.retryCounts.delete(errorName); + if (res) return res; + this.logger.error('Max retry attempts reached. Terminating process.'); + throw new Error('Max retry attempts reached'); + default: + this.logger.error( + `Non-retryable error occurred: ${error.name}: ${error.message}. Terminating process.`, + ); + throw error; } -} \ No newline at end of file + } +} diff --git a/backend/src/embedding/openai-embbeding-provider.ts b/backend/src/embedding/openai-embbeding-provider.ts index 24c0ab5e..68128df1 100644 --- a/backend/src/embedding/openai-embbeding-provider.ts +++ b/backend/src/embedding/openai-embbeding-provider.ts @@ -8,13 +8,13 @@ export class OpenAIEmbProvider { private static instance: OpenAIEmbProvider; private openAi: OpenAI; static openAi: any; - static getInstance(){ - if(this.instance){ + static getInstance() { + if (this.instance) { return this.instance; } return new OpenAIEmbProvider(); } - constructor(){ + constructor() { this.openAi = new OpenAI({ apiKey: process.env.OPENAI_API_KEY, });