Skip to content

Commit 1dd12f4

Browse files
author
dori
committed
fix: UTC
1 parent 65e42a6 commit 1dd12f4

File tree

4 files changed

+21
-19
lines changed

4 files changed

+21
-19
lines changed

src/mcp_as_a_judge/db/cleanup_service.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
removing records older than the retention period (default: 1 day).
66
"""
77

8-
from datetime import datetime, timedelta, timezone
8+
from datetime import UTC, datetime, timedelta
99

1010
from sqlalchemy import Engine, func
1111
from sqlmodel import Session, select
@@ -46,8 +46,8 @@ def __init__(self, engine: Engine) -> None:
4646
self.engine = engine
4747
self.max_total_sessions = MAX_TOTAL_SESSIONS
4848
self.retention_days = RECORD_RETENTION_DAYS
49-
self.last_cleanup_time = datetime.now(timezone.utc)
50-
self.last_session_cleanup_time = datetime.now(timezone.utc)
49+
self.last_cleanup_time = datetime.now(UTC)
50+
self.last_session_cleanup_time = datetime.now(UTC)
5151

5252
def cleanup_old_records(self) -> int:
5353
"""
@@ -58,10 +58,10 @@ def cleanup_old_records(self) -> int:
5858
Number of records deleted
5959
"""
6060
# Only run cleanup once per day
61-
if (datetime.now(timezone.utc) - self.last_cleanup_time).days < 1:
61+
if (datetime.now(UTC) - self.last_cleanup_time).days < 1:
6262
return 0
6363

64-
cutoff_date = datetime.now(timezone.utc) - timedelta(days=self.retention_days)
64+
cutoff_date = datetime.now(UTC) - timedelta(days=self.retention_days)
6565

6666
with Session(self.engine) as session:
6767
# Count old records
@@ -75,7 +75,7 @@ def cleanup_old_records(self) -> int:
7575
logger.info(
7676
f"🧹 Daily cleanup: No records older than {self.retention_days} days"
7777
)
78-
self.last_cleanup_time = datetime.now(timezone.utc)
78+
self.last_cleanup_time = datetime.now(UTC)
7979
return 0
8080

8181
# Delete old records
@@ -85,7 +85,7 @@ def cleanup_old_records(self) -> int:
8585
session.commit()
8686

8787
# Reset cleanup tracking
88-
self.last_cleanup_time = datetime.now(timezone.utc)
88+
self.last_cleanup_time = datetime.now(UTC)
8989

9090
logger.info(
9191
f"🧹 Daily cleanup: Deleted {old_count} records older than "
@@ -188,7 +188,7 @@ def cleanup_excess_sessions(self) -> int:
188188
Number of records deleted
189189
"""
190190
# Only run session cleanup once per day
191-
if (datetime.now(timezone.utc) - self.last_session_cleanup_time).days < 1:
191+
if (datetime.now(UTC) - self.last_session_cleanup_time).days < 1:
192192
return 0
193193

194194
current_session_count = self.get_session_count()
@@ -198,7 +198,7 @@ def cleanup_excess_sessions(self) -> int:
198198
f"🧹 Daily session LRU cleanup: {current_session_count} sessions "
199199
f"(max: {self.max_total_sessions}) - no cleanup needed"
200200
)
201-
self.last_session_cleanup_time = datetime.now(timezone.utc)
201+
self.last_session_cleanup_time = datetime.now(UTC)
202202
return 0
203203

204204
# Calculate how many sessions to remove
@@ -215,14 +215,14 @@ def cleanup_excess_sessions(self) -> int:
215215

216216
if not lru_session_ids:
217217
logger.warning("🧹 No sessions found for LRU cleanup")
218-
self.last_session_cleanup_time = datetime.now(timezone.utc)
218+
self.last_session_cleanup_time = datetime.now(UTC)
219219
return 0
220220

221221
# Delete all records for these sessions
222222
deleted_count = self.delete_sessions(lru_session_ids)
223223

224224
# Reset cleanup tracking
225-
self.last_session_cleanup_time = datetime.now(timezone.utc)
225+
self.last_session_cleanup_time = datetime.now(UTC)
226226

227227
logger.info(
228228
f"✅ Daily session LRU cleanup completed: removed {sessions_to_remove} sessions, "

src/mcp_as_a_judge/db/providers/sqlite_provider.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"""
77

88
import uuid
9-
from datetime import datetime, timezone
9+
from datetime import UTC, datetime
1010

1111
from sqlalchemy import create_engine
1212
from sqlmodel import Session, SQLModel, asc, desc, select
@@ -152,7 +152,7 @@ async def save_conversation(
152152
) -> str:
153153
"""Save a conversation record to SQLite database with LRU cleanup."""
154154
record_id = str(uuid.uuid4())
155-
timestamp = datetime.now(timezone.utc)
155+
timestamp = datetime.now(UTC)
156156

157157
logger.info(
158158
f"💾 Saving conversation to SQLModel SQLite DB: record {record_id} "

tests/test_conversation_history_lifecycle.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@
55
"""
66

77
import asyncio
8-
from datetime import datetime, timedelta, timezone
8+
from datetime import UTC, datetime, timedelta
9+
910
import pytest
11+
1012
from mcp_as_a_judge.db.providers.sqlite_provider import SQLiteProvider
1113

1214
class TestConversationHistoryLifecycle:
@@ -53,7 +55,7 @@ async def test_save_retrieve_fifo_cleanup_lifecycle(self):
5355
timestamps = [r.timestamp for r in records]
5456
for i in range(len(timestamps) - 1):
5557
assert timestamps[i] >= timestamps[i + 1], "Records should be ordered newest first"
56-
58+
5759
print(f"✅ Phase 2: Records retrieved in correct order: {sources}")
5860

5961
# PHASE 3: Trigger FIFO cleanup by adding more records
@@ -169,7 +171,7 @@ async def test_time_based_cleanup_integration(self):
169171
print(f"✅ Before cleanup: {len(records_before)} records")
170172

171173
# Force time-based cleanup by mocking old cleanup time
172-
old_time = datetime.now(timezone.utc) - timedelta(days=2)
174+
old_time = datetime.now(UTC) - timedelta(days=2)
173175
db._last_cleanup_time = old_time
174176

175177
# Trigger cleanup by adding another record
@@ -251,7 +253,7 @@ async def test_lru_session_cleanup_lifecycle(self):
251253
print("\n🧹 PHASE 3: Triggering LRU session cleanup...")
252254

253255
# Force cleanup by mocking old cleanup time
254-
old_time = datetime.now(timezone.utc) - timedelta(days=2)
256+
old_time = datetime.now(UTC) - timedelta(days=2)
255257
db._cleanup_service.last_session_cleanup_time = old_time
256258

257259
# Trigger cleanup

tests/test_sqlite_comprehensive.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"""
55

66
import asyncio
7-
from datetime import datetime, timedelta, timezone
7+
from datetime import UTC, datetime, timedelta
88

99
import pytest
1010
from test_utils import DatabaseTestUtils
@@ -44,7 +44,7 @@ async def test_daily_cleanup_sql(self):
4444
db = SQLiteProvider()
4545

4646
# Mock old cleanup time to force daily cleanup
47-
old_time = datetime.now(timezone.utc) - timedelta(days=2)
47+
old_time = datetime.now(UTC) - timedelta(days=2)
4848
db._last_cleanup_time = old_time
4949

5050
# Add a record

0 commit comments

Comments
 (0)