From 66d85cf0a2f5a42a4441c81b5cdb61b6bd9298f2 Mon Sep 17 00:00:00 2001 From: spark Date: Sun, 9 Feb 2025 20:18:05 +0800 Subject: [PATCH] =?UTF-8?q?fix(backend):=E4=BF=AE=E5=A4=8Dchromedp?= =?UTF-8?q?=E6=9C=AA=E5=8F=96=E6=B6=88=E5=AF=BC=E8=87=B4=E7=9A=84=E8=B5=84?= =?UTF-8?q?=E6=BA=90=E6=B3=84=E6=BC=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 openai_api.go 和 stock_data_api.go 中添加了对 chromedp.Cancel 的调用 - 确保在请求完成后正确取消 chromedp 的执行上下文,释放资源 --- backend/data/openai_api.go | 6 ++++++ backend/data/stock_data_api.go | 13 +++++++++++++ 2 files changed, 19 insertions(+) diff --git a/backend/data/openai_api.go b/backend/data/openai_api.go index 053101c..f058071 100644 --- a/backend/data/openai_api.go +++ b/backend/data/openai_api.go @@ -233,6 +233,12 @@ func GetFinancialReports(stockCode string) *[]string { chromedp.WithErrorf(logger.SugaredLogger.Errorf), ) defer cancel() + defer func(ctx context.Context) { + err := chromedp.Cancel(ctx) + if err != nil { + logger.SugaredLogger.Error(err.Error()) + } + }(ctx) var htmlContent string url := fmt.Sprintf("https://xueqiu.com/snowman/S/%s/detail#/ZYCWZB", stockCode) err := chromedp.Run(ctx, diff --git a/backend/data/stock_data_api.go b/backend/data/stock_data_api.go index ada06e3..846e544 100644 --- a/backend/data/stock_data_api.go +++ b/backend/data/stock_data_api.go @@ -522,6 +522,13 @@ func SearchStockPriceInfo(stockCode string) *[]string { context.Background(), ) defer cancel() + defer func(ctx context.Context) { + err := chromedp.Cancel(ctx) + if err != nil { + logger.SugaredLogger.Error(err.Error()) + } + }(ctx) + var htmlContent string var tasks chromedp.Tasks @@ -584,6 +591,12 @@ func SearchStockInfo(stock, msgType string) *[]string { chromedp.WithErrorf(logger.SugaredLogger.Errorf), ) defer cancel() + defer func(ctx context.Context) { + err := chromedp.Cancel(ctx) + if err != nil { + logger.SugaredLogger.Error(err.Error()) + } + }(ctx) var htmlContent string url := fmt.Sprintf("https://www.cls.cn/searchPage?keyword=%s&type=%s", stock, msgType) err := chromedp.Run(ctx,