Commit Graph

3 Commits

Author SHA1 Message Date
caoqianming 2fe9c4cd1f fix(resm): download_pdf链改用独立锁downloading_pdf, 修复并发闸门被其他链卡死
send_download_fulltext_task 的 can_send_more 原来统计全库 fetch_status=downloading,
而 elsevier/openalex 保活链常驻十几个粗锁, 导致 download_pdf 永远发不出任务
(oa_url/Sci-Hub/Elsevier 主下载路径完全停摆)。现 download_pdf 用 downloading_pdf
独立锁, 闸门只数自己的在途任务; 各链查询改为 startswith 排除两种锁,
release_working_paper 同步释放两种锁。

另修复: download_pdf 遇已被其他链锁定的论文时, finally 中 fetch_end 会误清
别的链持有的锁; Paper.DoesNotExist 时 finally 引用未定义的 paper。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 14:16:34 +08:00
caoqianming cc6db5ffd9 feat(system): 增加ApiKey管理, resm paper接口需API Key或登录访问
- 新增 ApiKey 模型, key 保存时自动生成, Django admin 中管理和查看
- 新增 ApiKeyAuthentication/HasApiKey, 支持 X-API-Key 请求头和 api_key 查询参数
- PaperViewSet GET 与 paper_pdf_view 由 AllowAny 改为 HasApiKey | IsAuthenticated

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 10:35:39 +08:00
TianyangZhang 92c55e8691 feat: 修改pdf 验证cloudflare 2026-03-24 10:34:06 +08:00