add rowcount check

This commit is contained in:
Yansong Zhang 2026-01-08 11:10:49 +08:00
commit 6d9d2a1079
1 changed files with 2 additions and 8 deletions

View File

@ -1,8 +1,6 @@
import logging
from typing import cast
from sqlalchemy import CursorResult, update
from sqlalchemy import update
from sqlalchemy.orm import Session
from configs import dify_config
@ -63,12 +61,8 @@ class CreditPoolService:
TenantCreditPool.quota_used + credits_required <= TenantCreditPool.quota_limit,
]
stmt = update(TenantCreditPool).where(*where_conditions).values(**update_values)
result = cast(CursorResult, session.execute(stmt))
session.execute(stmt)
session.commit()
if result.rowcount == 0:
raise QuotaExceededError(
f"Insufficient credits. Required: {credits_required}, Available: {pool.remaining_credits}"
)
except Exception:
logger.exception("Failed to deduct credits for tenant %s", tenant_id)
raise QuotaExceededError("Failed to deduct credits")