Model/backend/app/modelling/batching.py
Khalim Conn-Kowlessar 80c474b37b Batches never split a postcode 🟥
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:58:41 +00:00

19 lines
723 B
Python

"""Pack a Modelling Run's resolved properties into SQS-message-sized batches.
Batches stay postcode-grouped — properties sharing a postcode ride the same
message so the workers' prediction cohort cache keeps paying (ADR-0055), the
same packing the trigger script has been running.
"""
from backend.app.modelling.property_filters import FilteredProperty
BATCH_SIZE = 50
def pack_postcode_batches(
properties: list[FilteredProperty], batch_size: int = BATCH_SIZE
) -> list[list[FilteredProperty]]:
"""Pack *properties* into batches of ~*batch_size*, never splitting a
postcode across batches. A single postcode larger than *batch_size*
becomes its own oversized batch."""
raise NotImplementedError