better time usings

This commit is contained in:
2025-10-22 08:14:42 +02:00
parent 04b516a52d
commit 4eede0c8c0
11 changed files with 62 additions and 163 deletions

View File

@@ -9,7 +9,7 @@ from __future__ import annotations
import asyncio
from dataclasses import dataclass, field
from datetime import datetime
from datetime import datetime, timezone
from enum import Enum
from typing import Any, Callable, Dict, Optional
@@ -65,8 +65,8 @@ class ProgressUpdate:
current: int = 0
total: int = 0
metadata: Dict[str, Any] = field(default_factory=dict)
started_at: datetime = field(default_factory=datetime.utcnow)
updated_at: datetime = field(default_factory=datetime.utcnow)
started_at: datetime = field(default_factory=lambda: datetime.now(timezone.utc))
updated_at: datetime = field(default_factory=lambda: datetime.now(timezone.utc))
def to_dict(self) -> Dict[str, Any]:
"""Convert progress update to dictionary."""
@@ -254,7 +254,7 @@ class ProgressService:
update.percent = 0.0
update.status = ProgressStatus.IN_PROGRESS
update.updated_at = datetime.utcnow()
update.updated_at = datetime.now(timezone.utc)
# Only broadcast if significant change or forced
percent_change = abs(update.percent - old_percent)
@@ -296,7 +296,7 @@ class ProgressService:
update.message = message
update.percent = 100.0
update.current = update.total
update.updated_at = datetime.utcnow()
update.updated_at = datetime.now(timezone.utc)
if metadata:
update.metadata.update(metadata)
@@ -345,7 +345,7 @@ class ProgressService:
update = self._active_progress[progress_id]
update.status = ProgressStatus.FAILED
update.message = error_message
update.updated_at = datetime.utcnow()
update.updated_at = datetime.now(timezone.utc)
if metadata:
update.metadata.update(metadata)
@@ -393,7 +393,7 @@ class ProgressService:
update = self._active_progress[progress_id]
update.status = ProgressStatus.CANCELLED
update.message = message
update.updated_at = datetime.utcnow()
update.updated_at = datetime.now(timezone.utc)
# Move to history
del self._active_progress[progress_id]