读文件 + pypdf 解析是 CPU/IO 密集, 17 万条串行太慢。改用 ProcessPoolExecutor 并行分类, DB 写入留主进程串行(坏文件仅少数, 非瓶颈, 也避免子进程共享 DB 连接)。 - 新增 apps/resm/pdf_utils.py: 抽出 _pdf_page_count / _is_elsevier_preview_pdf / _inspect_pdf / classify_pdf_file, 不依赖 Django, 进程池 fork/spawn 均可安全导入 - tasks.py: 改为从 pdf_utils 导入, 删除内联定义 - 命令新增 --workers(默认 CPU 核数) / --batch; 用 .values() 流式分批, 逐批打印进度; DB 写入改用 filter().update() 一次完成, 不再加载模型实例 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| apps | ||
| docs | ||
| log | ||
| media/default | ||
| server | ||
| .gitignore | ||
| CLAUDE.md | ||
| after_click_no.html | ||
| after_click_no.png | ||
| db.json | ||
| manage.py | ||
| readme.md | ||
| requirements.txt | ||
| ruff.toml | ||
| scihub_page.html | ||
| scihub_screenshot.png | ||
| test.png | ||
| todo.html | ||
readme.md
如何运行
将 server 下的 conf_e.json 以及 conf_e.py,移动到config文件夹下并重命名为 conf.json 和 conf.py。
根据自己的情况修改参数
进入虚拟环境后运行 python manage.py migrate
导入初始数据 python manage.py loaddata db.json
默认管理员账户密码为admin xtadmin123!
在项目目录下执行 python manage.py runserver 即可
运行后在 localhost:8000/api/swagger/下查看 api 文档