paper_server/apps
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
..
auth1 feat: auth1 utils enm 修改阿里云发送短信引入方式 2026-01-13 16:38:03 +08:00
ops feat: base 完善获取修改单个缓存的接口 2026-01-28 12:53:56 +08:00
resm perf(resm): fix_preview_pdf 多进程并发扫描 2026-06-29 13:24:45 +08:00
system fix: 合并migration 2026-01-16 15:10:02 +08:00
utils fix: base complexquerymixin支持add_info_for_list 2026-01-16 14:07:51 +08:00
wf feat: base 修改workflow_cate的migrate引用 2026-01-14 13:39:00 +08:00
ws 初始化happy-drf分支 2023-10-07 14:11:26 +08:00
__init__.py 初始化happy-drf分支 2023-10-07 14:11:26 +08:00