Go to file
caoqianming 88b51f97b0 perf(resm): fix_preview_pdf 多进程并发扫描
读文件 + 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>
2026-06-29 13:24:45 +08:00
.claude feat:修改json 2026-03-26 14:07:34 +08:00
apps perf(resm): fix_preview_pdf 多进程并发扫描 2026-06-29 13:24:45 +08:00
docs feat(resm): 对接材料前沿简报补充期刊/关键词监控 2026-06-29 13:23:55 +08:00
log 初始化happy-drf分支 2023-10-07 14:11:26 +08:00
media/default 初始化happy-drf分支 2023-10-07 14:11:26 +08:00
server feat: 添加paper list 接口 2026-01-26 10:41:11 +08:00
.gitignore feat: 添加忽略文件 2026-02-10 10:13:03 +08:00
CLAUDE.md feat: 修改pdf 验证cloudflare 2026-03-24 10:34:06 +08:00
after_click_no.html feat: 修改pdf 验证cloudflare 2026-03-24 10:34:06 +08:00
after_click_no.png feat: 修改pdf 验证cloudflare 2026-03-24 10:34:06 +08:00
db.json feat: base 更新readme 2026-01-14 13:39:19 +08:00
manage.py 初始化happy-drf分支 2023-10-07 14:11:26 +08:00
readme.md feat: base 更新readme 2026-01-14 13:39:19 +08:00
requirements.txt fix(resm): 识别 Elsevier 摘要预览 PDF, 避免误标全文 2026-06-29 08:54:07 +08:00
ruff.toml 初始化happy-drf分支 2023-10-07 14:11:26 +08:00
scihub_page.html feat: 修改pdf 验证cloudflare 2026-03-24 10:34:06 +08:00
scihub_screenshot.png feat: 修改pdf 验证cloudflare 2026-03-24 10:34:06 +08:00
test.png feat: 修改pdf 验证cloudflare 2026-03-24 10:34:06 +08:00
todo.html feat: 修改pdf 验证cloudflare 2026-03-24 10:34:06 +08:00

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 文档