fix(governance): fail soft work-items readbacks
All checks were successful
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 2m14s
CD Pipeline / build-and-deploy (push) Successful in 4m45s
CD Pipeline / post-deploy-checks (push) Successful in 1m55s

This commit is contained in:
Your Name
2026-07-03 09:04:23 +08:00
parent 77daf55cdd
commit 5ef47a60a4
2 changed files with 75 additions and 7 deletions

View File

@@ -65,6 +65,7 @@ from src.services.governance_query_service import (
query_km_review_draft_dedupe,
query_km_stale_candidates,
)
from src.utils.timezone import now_taipei
logger = structlog.get_logger(__name__)
@@ -164,12 +165,29 @@ async def get_governance_queue(
page=page,
size=size,
)
return await query_governance_queue(
dispatch_status=dispatch_status,
event_types=event_type,
page=page,
size=size,
)
try:
return await query_governance_queue(
dispatch_status=dispatch_status,
event_types=event_type,
page=page,
size=size,
)
except Exception as exc:
logger.warning(
"governance_queue_readback_degraded",
dispatch_status=dispatch_status,
event_type=event_type,
page=page,
size=size,
error_type=type(exc).__name__,
)
return GovernanceQueueResponse(
items=[],
total=0,
page=page,
size=size,
table_pending=True,
)
# =============================================================================
@@ -190,7 +208,21 @@ async def get_km_review_draft_dedupe(
owner_action不自動 archive、不自動 approve/publish KM。
"""
logger.debug("km_review_draft_dedupe_request", limit=limit)
return await query_km_review_draft_dedupe(limit=limit)
try:
return await query_km_review_draft_dedupe(limit=limit)
except Exception as exc:
logger.warning(
"km_review_draft_dedupe_readback_degraded",
limit=limit,
error_type=type(exc).__name__,
)
return KnowledgeReviewDraftDedupeResponse(
total_review_drafts=0,
event_group_total=0,
duplicate_draft_total=0,
groups=[],
generated_at=now_taipei(),
)
# =============================================================================