fix: close file handles in json.load() calls in resume parser (#14061)

## Summary
- Replace `json.load(open(...))` with `with open(...) as f:
json.load(f)` in 2 resume parser files
- Fixes 4 leaked file descriptors in `corporations.py` (3) and
`schools.py` (1)

## Why
In a long-running server process like RAGFlow, leaked file handles can
accumulate and hit the OS file descriptor limit (`OSError: [Errno 24]
Too many open files`). The other instances mentioned in the issue
(`infinity_conn_base.py` and `init_data.py`) have already been fixed.

## Test plan
- [x] Verified affected files use `with` statement after fix
- [x] Grep confirms no remaining `json.load(open(` patterns in codebase

Fixes #13996

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Ricardo-M-L
2026-04-14 11:43:58 +08:00
committed by GitHub
parent de6a8e789a
commit c22811f096
2 changed files with 8 additions and 6 deletions

View File

@@ -29,11 +29,12 @@ GOODS = pd.read_csv(
).fillna(0)
GOODS["cid"] = GOODS["cid"].astype(str)
GOODS = GOODS.set_index(["cid"])
CORP_TKS = json.load(
open(os.path.join(current_file_path, "res/corp.tks.freq.json"), "r",encoding="utf-8")
)
GOOD_CORP = json.load(open(os.path.join(current_file_path, "res/good_corp.json"), "r",encoding="utf-8"))
CORP_TAG = json.load(open(os.path.join(current_file_path, "res/corp_tag.json"), "r",encoding="utf-8"))
with open(os.path.join(current_file_path, "res/corp.tks.freq.json"), "r", encoding="utf-8") as f:
CORP_TKS = json.load(f)
with open(os.path.join(current_file_path, "res/good_corp.json"), "r", encoding="utf-8") as f:
GOOD_CORP = json.load(f)
with open(os.path.join(current_file_path, "res/corp_tag.json"), "r", encoding="utf-8") as f:
CORP_TAG = json.load(f)
def baike(cid, default_v=0):

View File

@@ -25,7 +25,8 @@ TBL = pd.read_csv(
os.path.join(current_file_path, "res/schools.csv"), sep="\t", header=0
).fillna("")
TBL["name_en"] = TBL["name_en"].map(lambda x: x.lower().strip())
GOOD_SCH = json.load(open(os.path.join(current_file_path, "res/good_sch.json"), "r",encoding="utf-8"))
with open(os.path.join(current_file_path, "res/good_sch.json"), "r", encoding="utf-8") as f:
GOOD_SCH = json.load(f)
GOOD_SCH = set([re.sub(r"[,. &()]+", "", c) for c in GOOD_SCH])