perf: eliminate source health N plus one queries

This commit is contained in:
Jens
2026-07-22 20:37:01 +02:00
parent ee915742bf
commit 5f435d030e
2 changed files with 28 additions and 3 deletions
+19
View File
@@ -111,6 +111,25 @@ def test_collect_source_health_exposes_parser_and_counts(source):
assert row.updated_count == 1
@pytest.mark.django_db
def test_collect_source_health_prefetches_runs_for_all_sources(source, django_assert_num_queries):
second_source = Source.objects.create(
name="Second jobs",
source_type=Source.Type.EMPLOYER,
base_url="https://second.example.org/jobs/",
domain="second.example.org",
status=Source.Status.ACTIVE,
policy=Source.Policy.ALLOW,
)
_create_run(source, status=SourceRun.Status.SUCCESS)
_create_run(second_source, status=SourceRun.Status.SUCCESS)
with django_assert_num_queries(2):
rows = collect_source_health()
assert [row.source_name for row in rows] == ["Example jobs", "Second jobs"]
@pytest.mark.django_db
def test_recover_source_health_starts_canary_once(source, monkeypatch):
source.status = Source.Status.QUARANTINED