Yash030 Claude Opus 4.7 commited on
Commit
b5bd2a8
·
1 Parent(s): ef123a8

Fix: use sync version of track_request to avoid SyntaxError

Browse files

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

Files changed (2) hide show
  1. api/services.py +1 -1
  2. core/session_tracker.py +15 -12
api/services.py CHANGED
@@ -188,7 +188,7 @@ class ClaudeProxyService:
188
  )
189
 
190
  session_id = self._get_session_id(request_data)
191
- await self._session_tracker.track_request(session_id, resolved.provider_id)
192
 
193
  request_id = f"req_{uuid.uuid4().hex[:12]}"
194
  logger.info(
 
188
  )
189
 
190
  session_id = self._get_session_id(request_data)
191
+ self._session_tracker.track_request_sync(session_id, resolved.provider_id)
192
 
193
  request_id = f"req_{uuid.uuid4().hex[:12]}"
194
  logger.info(
core/session_tracker.py CHANGED
@@ -113,21 +113,24 @@ class SessionTracker:
113
 
114
  async def track_request(self, session_id: str, provider_id: str) -> None:
115
  """Record a request for a session to a provider."""
116
- async with self._lock:
117
- self._cleanup_old_sessions()
118
 
119
- if session_id not in self._sessions:
120
- if len(self._sessions) >= self._max_sessions:
121
- self._evict_lru_session()
122
- self._sessions[session_id] = SessionState()
123
 
124
- state = self._sessions[session_id]
125
- state.requests_in_window += 1
126
- state.last_request_time = time.monotonic()
127
- state.total_requests += 1
 
 
 
 
 
128
 
129
- self._session_requests[session_id][provider_id] += 1
130
- self._provider_active[provider_id] += 1
131
 
132
  async def release_request(self, session_id: str, provider_id: str) -> None:
133
  """Release a request slot when streaming completes."""
 
113
 
114
  async def track_request(self, session_id: str, provider_id: str) -> None:
115
  """Record a request for a session to a provider."""
116
+ self._track_request_sync(session_id, provider_id)
 
117
 
118
+ def track_request_sync(self, session_id: str, provider_id: str) -> None:
119
+ """Record a request for a session to a provider (sync version)."""
120
+ self._cleanup_old_sessions()
 
121
 
122
+ if session_id not in self._sessions:
123
+ if len(self._sessions) >= self._max_sessions:
124
+ self._evict_lru_session()
125
+ self._sessions[session_id] = SessionState()
126
+
127
+ state = self._sessions[session_id]
128
+ state.requests_in_window += 1
129
+ state.last_request_time = time.monotonic()
130
+ state.total_requests += 1
131
 
132
+ self._session_requests[session_id][provider_id] += 1
133
+ self._provider_active[provider_id] += 1
134
 
135
  async def release_request(self, session_id: str, provider_id: str) -> None:
136
  """Release a request slot when streaming completes."""