refactor: replace generic Exception handling with specific exceptions in various files
This commit is contained in:
@@ -845,7 +845,7 @@ async def broadcast_gateway_lead_message(
|
||||
)
|
||||
)
|
||||
sent += 1
|
||||
except Exception as exc:
|
||||
except (HTTPException, OpenClawGatewayError, ValueError) as exc:
|
||||
results.append(
|
||||
GatewayLeadBroadcastBoardResult(
|
||||
board_id=board.id,
|
||||
|
||||
@@ -14,6 +14,7 @@ from app.core.time import utcnow
|
||||
from app.db import crud
|
||||
from app.db.pagination import paginate
|
||||
from app.db.session import get_session
|
||||
from app.integrations.openclaw_gateway import OpenClawGatewayError
|
||||
from app.models.agents import Agent
|
||||
from app.models.board_group_memory import BoardGroupMemory
|
||||
from app.models.board_groups import BoardGroup
|
||||
@@ -240,7 +241,7 @@ async def apply_board_group_heartbeat(
|
||||
continue
|
||||
try:
|
||||
await sync_gateway_agent_heartbeats(gateway, gateway_agents)
|
||||
except Exception:
|
||||
except OpenClawGatewayError:
|
||||
failed_agent_ids.extend([agent.id for agent in gateway_agents])
|
||||
|
||||
return BoardGroupHeartbeatApplyResult(
|
||||
|
||||
@@ -71,13 +71,12 @@ async def get_session() -> AsyncGenerator[AsyncSession, None]:
|
||||
try:
|
||||
yield session
|
||||
finally:
|
||||
in_txn = False
|
||||
try:
|
||||
in_txn = bool(session.in_transaction())
|
||||
except SQLAlchemyError:
|
||||
logger.exception("Failed to inspect session transaction state.")
|
||||
return
|
||||
if not in_txn:
|
||||
return
|
||||
if in_txn:
|
||||
try:
|
||||
await session.rollback()
|
||||
except SQLAlchemyError:
|
||||
|
||||
@@ -93,7 +93,7 @@ class _GatewayBackoff:
|
||||
value = await fn()
|
||||
self.reset()
|
||||
return value
|
||||
except Exception as exc:
|
||||
except OpenClawGatewayError as exc:
|
||||
if not _is_transient_gateway_error(exc):
|
||||
raise
|
||||
now = asyncio.get_running_loop().time()
|
||||
@@ -430,13 +430,20 @@ async def sync_gateway_templates(
|
||||
)
|
||||
|
||||
try:
|
||||
agent_item: Agent = agent
|
||||
board_item: Board = board
|
||||
auth_token_value: str = auth_token
|
||||
|
||||
async def _do_provision() -> None:
|
||||
async def _do_provision(
|
||||
agent_item: Agent = agent_item,
|
||||
board_item: Board = board_item,
|
||||
auth_token_value: str = auth_token_value,
|
||||
) -> None:
|
||||
await provision_agent(
|
||||
agent,
|
||||
board,
|
||||
agent_item,
|
||||
board_item,
|
||||
gateway,
|
||||
auth_token,
|
||||
auth_token_value,
|
||||
user,
|
||||
action="update",
|
||||
force_bootstrap=force_bootstrap,
|
||||
@@ -456,7 +463,7 @@ async def sync_gateway_templates(
|
||||
)
|
||||
)
|
||||
return result
|
||||
except Exception as exc: # pragma: no cover - gateway/network dependent
|
||||
except (OSError, RuntimeError, ValueError) as exc: # pragma: no cover
|
||||
result.agents_skipped += 1
|
||||
result.errors.append(
|
||||
GatewayTemplatesSyncError(
|
||||
@@ -584,7 +591,7 @@ async def sync_gateway_templates(
|
||||
)
|
||||
)
|
||||
return result
|
||||
except Exception as exc: # pragma: no cover - gateway/network dependent
|
||||
except (OSError, RuntimeError, ValueError) as exc: # pragma: no cover
|
||||
result.errors.append(
|
||||
GatewayTemplatesSyncError(
|
||||
agent_id=main_agent.id,
|
||||
|
||||
Reference in New Issue
Block a user