fix(agents): relax runtime readback fallback budgets
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 1s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 1m13s
CD Pipeline / build-and-deploy (push) Has started running
CD Pipeline / post-deploy-checks (push) Has been cancelled

This commit is contained in:
ogt
2026-07-09 22:08:55 +08:00
parent c4f98de3b2
commit 68b24ff720
2 changed files with 9 additions and 7 deletions

View File

@@ -45,14 +45,14 @@ _DEPLOY_ATTEMPT_NOTE = "cd_internal_control_plane_readback_retry_20260628_2"
_LIVE_READBACK_SCHEMA_VERSION = "ai_agent_autonomous_runtime_receipt_readback_v1"
_DEFAULT_PROJECT_ID = "awoooi"
_DEFAULT_LOOKBACK_HOURS = 24
_LIVE_RUNTIME_RECEIPT_TIMEOUT_SECONDS = 5.0
_LIVE_RUNTIME_RECEIPT_TIMEOUT_SECONDS = 8.0
_RUNTIME_RECEIPT_LOCK_TIMEOUT_SECONDS = 0.25
_RUNTIME_RECEIPT_DB_CONTEXT_TIMEOUT_SECONDS = 1.5
_RUNTIME_RECEIPT_DB_CONTEXT_EXIT_TIMEOUT_SECONDS = 0.25
_RUNTIME_RECEIPT_QUERY_BUDGET_SECONDS = 2.0
_RUNTIME_RECEIPT_SINGLE_QUERY_TIMEOUT_SECONDS = 0.45
_RUNTIME_RECEIPT_STATEMENT_TIMEOUT_MS = 400
_LOG_CONTROLLED_WRITEBACK_CONSUMER_TIMEOUT_SECONDS = 2.0
_LOG_CONTROLLED_WRITEBACK_CONSUMER_TIMEOUT_SECONDS = 4.0
_RUNTIME_RECEIPT_READBACK_CACHE_TTL_SECONDS = 20.0
_AUXILIARY_RUNTIME_RECEIPT_QUERY_NAMES = {
"alert_operation_counts",

View File

@@ -46,6 +46,8 @@ _DB_RETRY_DELAYS_SECONDS = (0.0,)
_CONSUMER_DB_CONTEXT_TIMEOUT_SECONDS = 0.45
_CONSUMER_DB_CONTEXT_EXIT_TIMEOUT_SECONDS = 0.25
_CONSUMER_SINGLE_QUERY_TIMEOUT_SECONDS = 0.45
_CONSUMER_DIRECT_CONNECT_TIMEOUT_SECONDS = 1.5
_CONSUMER_DIRECT_QUERY_TIMEOUT_SECONDS = 0.75
_CONSUMER_TELEGRAM_CONTEXT_TIMEOUT_SECONDS = 0.75
_CONSUMER_STATEMENT_TIMEOUT_MS = 400
logger = get_logger(__name__)
@@ -226,27 +228,27 @@ async def _load_consumer_rows_direct(
conn = await asyncio.wait_for(
asyncpg.connect(db_url),
timeout=_CONSUMER_DB_CONTEXT_TIMEOUT_SECONDS,
timeout=_CONSUMER_DIRECT_CONNECT_TIMEOUT_SECONDS,
)
try:
await asyncio.wait_for(
conn.execute("SELECT set_config('app.project_id', $1, TRUE)", project_id),
timeout=_CONSUMER_SINGLE_QUERY_TIMEOUT_SECONDS,
timeout=_CONSUMER_DIRECT_QUERY_TIMEOUT_SECONDS,
)
await asyncio.wait_for(
conn.execute(
"SET statement_timeout = "
f"'{int(_CONSUMER_STATEMENT_TIMEOUT_MS)}ms'"
),
timeout=_CONSUMER_SINGLE_QUERY_TIMEOUT_SECONDS,
timeout=_CONSUMER_DIRECT_QUERY_TIMEOUT_SECONDS,
)
dispatch_rows = await asyncio.wait_for(
conn.fetch(_CONSUMER_DISPATCH_DIRECT_SQL, OPERATION_TYPE),
timeout=_CONSUMER_SINGLE_QUERY_TIMEOUT_SECONDS,
timeout=_CONSUMER_DIRECT_QUERY_TIMEOUT_SECONDS,
)
consumer_rows = await asyncio.wait_for(
conn.fetch(_CONSUMER_APPLY_DIRECT_SQL, CONSUMER_OPERATION_TYPE),
timeout=_CONSUMER_SINGLE_QUERY_TIMEOUT_SECONDS,
timeout=_CONSUMER_DIRECT_QUERY_TIMEOUT_SECONDS,
)
return _result_rows(dispatch_rows), _result_rows(consumer_rows)
finally: