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 |