MCPcopy Create free account
hub / github.com/su-kaka/gcli2api / record_success

Method record_success

src/storage/psql_manager.py:989–1030  ·  view source on GitHub ↗

成功调用后的条件写入

(
        self,
        filename: str,
        model_name: Optional[str] = None,
        mode: str = "geminicli"
    )

Source from the content-addressed store, hash-verified

987 return False
988
989 async def record_success(
990 self,
991 filename: str,
992 model_name: Optional[str] = None,
993 mode: str = "geminicli"
994 ) -> None:
995 """成功调用后的条件写入"""
996 self._ensure_initialized()
997 filename = os.path.basename(filename)
998
999 try:
1000 table_name = self._get_table_name(mode)
1001 async with self._pool.acquire() as conn:
1002 await conn.execute(f"""
1003 UPDATE {table_name}
1004 SET last_success = EXTRACT(EPOCH FROM NOW()),
1005 error_codes = '[]',
1006 error_messages = '{{}}',
1007 updated_at = EXTRACT(EPOCH FROM NOW())
1008 WHERE filename = $1
1009 AND (error_codes IS NOT NULL AND error_codes != '[]' AND error_codes != '')
1010 """, filename)
1011
1012 if model_name:
1013 row = await conn.fetchrow(
1014 f"SELECT model_cooldowns FROM {table_name} WHERE filename = $1", filename
1015 )
1016 if row:
1017 cooldowns = json.loads(row["model_cooldowns"] or "{}")
1018 if model_name in cooldowns:
1019 cooldowns.pop(model_name)
1020 await conn.execute(
1021 f"""
1022 UPDATE {table_name}
1023 SET model_cooldowns = $1, updated_at = EXTRACT(EPOCH FROM NOW())
1024 WHERE filename = $2
1025 """,
1026 json.dumps(cooldowns), filename
1027 )
1028
1029 except Exception as e:
1030 log.error(f"Error recording success for {filename}: {e}")

Callers 1

Calls 3

_ensure_initializedMethod · 0.95
_get_table_nameMethod · 0.95
errorMethod · 0.80

Tested by

no test coverage detected