diff --git a/applications/abri/dispatch.py b/applications/abri/dispatch.py index 2362fa1d0..3e28d0951 100644 --- a/applications/abri/dispatch.py +++ b/applications/abri/dispatch.py @@ -23,6 +23,7 @@ from orchestration.abri_orchestrator import ( DealDatabaseGateway, LogJobOrchestrationResult, LogJobWriteBackError, + PropertyReportedVoid, TenantDataSyncResult, ) from utilities.aws_lambda.task_handler import NonRetriableTaskError @@ -198,6 +199,13 @@ def _run_tenant_sync(request: AbriTriggerRequest, flows: AbriFlows) -> str: ) if isinstance(outcome, AbriRequestRejected): raise AbriFlowRejectedError(flow="sync_tenant_data", rejection=outcome) + if isinstance(outcome, PropertyReportedVoid): + # Not a failure: an empty property has no signatories to sync, so + # redelivery could only park the message in the dead-letter queue. + return ( + f"no live tenancy for place {outcome.place_ref}; " + "property noted as void" + ) return ( f"{len(outcome.contact_ids)} contacts created " f"({outcome.vulnerable_contact_count} vulnerable)"