feat: 优化get_abstract_from_elsevier

This commit is contained in:
caoqianming 2026-01-26 17:53:50 +08:00
parent 5529f97ab8
commit b0f7f18d18
1 changed files with 10 additions and 14 deletions

View File

@ -68,7 +68,7 @@ def get_abstract_from_elsevier(publication_year: int = None, number_of_task:int
qs = qs.filter(publication_year=publication_year) qs = qs.filter(publication_year=publication_year)
qs = qs.exclude( qs = qs.exclude(
fail_reason="elsevier_doi_not_found" fail_reason="elsevier_doi_not_found"
).order_by("publication_date") ).order_by("-publication_date")
if not qs.exists(): if not qs.exists():
return "done" return "done"
@ -146,10 +146,6 @@ def get_abstract_from_elsevier(publication_year: int = None, number_of_task:int
paper.fail_reason = "elsevier_doi_not_found" paper.fail_reason = "elsevier_doi_not_found"
paper.save(update_fields=["fail_reason"]) paper.save(update_fields=["fail_reason"])
remaining_count = qs.count()
if remaining_count == 0:
return "done"
else:
current_app.send_task( current_app.send_task(
"apps.resm.tasks.get_abstract_from_elsevier", "apps.resm.tasks.get_abstract_from_elsevier",
kwargs={ kwargs={
@ -158,4 +154,4 @@ def get_abstract_from_elsevier(publication_year: int = None, number_of_task:int
}, },
countdown=5, countdown=5,
) )
return f'{err_msg}, remaining {remaining_count} papers' return f'{err_msg}, remaining {qs.count()} papers'