Fix datetime
This commit is contained in:
@@ -96,7 +96,7 @@ class ServiceDiscovery:
|
|||||||
key = f"service_health:{service_name}"
|
key = f"service_health:{service_name}"
|
||||||
value = {
|
value = {
|
||||||
"healthy": is_healthy,
|
"healthy": is_healthy,
|
||||||
"last_check": datetime.utcnow().isoformat(),
|
"last_check": datetime.now(datetime.timezone.utc).isoformat(),
|
||||||
"url": self.services[service_name]
|
"url": self.services[service_name]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -22,9 +22,9 @@ class JWTHandler:
|
|||||||
to_encode = data.copy()
|
to_encode = data.copy()
|
||||||
|
|
||||||
if expires_delta:
|
if expires_delta:
|
||||||
expire = datetime.utcnow() + expires_delta
|
expire = datetime.now(datetime.timezone.utc) + expires_delta
|
||||||
else:
|
else:
|
||||||
expire = datetime.utcnow() + timedelta(minutes=30)
|
expire = datetime.now(datetime.timezone.utc) + timedelta(minutes=30)
|
||||||
|
|
||||||
to_encode.update({"exp": expire, "type": "access"})
|
to_encode.update({"exp": expire, "type": "access"})
|
||||||
|
|
||||||
@@ -36,9 +36,9 @@ class JWTHandler:
|
|||||||
to_encode = data.copy()
|
to_encode = data.copy()
|
||||||
|
|
||||||
if expires_delta:
|
if expires_delta:
|
||||||
expire = datetime.utcnow() + expires_delta
|
expire = datetime.now(datetime.timezone.utc) + expires_delta
|
||||||
else:
|
else:
|
||||||
expire = datetime.utcnow() + timedelta(days=7)
|
expire = datetime.now(datetime.timezone.utc) + timedelta(days=7)
|
||||||
|
|
||||||
to_encode.update({"exp": expire, "type": "refresh"})
|
to_encode.update({"exp": expire, "type": "refresh"})
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ class BaseEvent:
|
|||||||
if not self.event_id:
|
if not self.event_id:
|
||||||
self.event_id = str(uuid.uuid4())
|
self.event_id = str(uuid.uuid4())
|
||||||
if not self.timestamp:
|
if not self.timestamp:
|
||||||
self.timestamp = datetime.utcnow()
|
self.timestamp = datetime.now(datetime.timezone.utc)
|
||||||
|
|
||||||
# Training Events
|
# Training Events
|
||||||
@dataclass
|
@dataclass
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ class AuthService:
|
|||||||
UserRegisteredEvent(
|
UserRegisteredEvent(
|
||||||
event_id="",
|
event_id="",
|
||||||
service_name="auth-service",
|
service_name="auth-service",
|
||||||
timestamp=datetime.utcnow(),
|
timestamp= datetime.now(datetime.timezone.utc),
|
||||||
data={
|
data={
|
||||||
"user_id": str(user.id),
|
"user_id": str(user.id),
|
||||||
"email": user.email,
|
"email": user.email,
|
||||||
@@ -111,7 +111,7 @@ class AuthService:
|
|||||||
await db.execute(
|
await db.execute(
|
||||||
update(User)
|
update(User)
|
||||||
.where(User.id == user.id)
|
.where(User.id == user.id)
|
||||||
.values(last_login=datetime.utcnow())
|
.values(last_login= datetime.now(datetime.timezone.utc))
|
||||||
)
|
)
|
||||||
await db.commit()
|
await db.commit()
|
||||||
|
|
||||||
@@ -133,7 +133,7 @@ class AuthService:
|
|||||||
session = UserSession(
|
session = UserSession(
|
||||||
user_id=user.id,
|
user_id=user.id,
|
||||||
refresh_token_hash=security_manager.hash_password(refresh_token),
|
refresh_token_hash=security_manager.hash_password(refresh_token),
|
||||||
expires_at=datetime.utcnow() + timedelta(days=7),
|
expires_at= datetime.now(datetime.timezone.utc) + timedelta(days=7),
|
||||||
ip_address=ip_address,
|
ip_address=ip_address,
|
||||||
user_agent=user_agent
|
user_agent=user_agent
|
||||||
)
|
)
|
||||||
@@ -148,7 +148,7 @@ class AuthService:
|
|||||||
UserLoginEvent(
|
UserLoginEvent(
|
||||||
event_id="",
|
event_id="",
|
||||||
service_name="auth-service",
|
service_name="auth-service",
|
||||||
timestamp=datetime.utcnow(),
|
timestamp= datetime.now(datetime.timezone.utc),
|
||||||
data={
|
data={
|
||||||
"user_id": str(user.id),
|
"user_id": str(user.id),
|
||||||
"email": user.email,
|
"email": user.email,
|
||||||
|
|||||||
@@ -22,9 +22,9 @@ class JWTHandler:
|
|||||||
to_encode = data.copy()
|
to_encode = data.copy()
|
||||||
|
|
||||||
if expires_delta:
|
if expires_delta:
|
||||||
expire = datetime.utcnow() + expires_delta
|
expire = datetime.now(datetime.timezone.utc) + expires_delta
|
||||||
else:
|
else:
|
||||||
expire = datetime.utcnow() + timedelta(minutes=30)
|
expire = datetime.now(datetime.timezone.utc) + timedelta(minutes=30)
|
||||||
|
|
||||||
to_encode.update({"exp": expire, "type": "access"})
|
to_encode.update({"exp": expire, "type": "access"})
|
||||||
|
|
||||||
@@ -36,9 +36,9 @@ class JWTHandler:
|
|||||||
to_encode = data.copy()
|
to_encode = data.copy()
|
||||||
|
|
||||||
if expires_delta:
|
if expires_delta:
|
||||||
expire = datetime.utcnow() + expires_delta
|
expire = datetime.now(datetime.timezone.utc) + expires_delta
|
||||||
else:
|
else:
|
||||||
expire = datetime.utcnow() + timedelta(days=7)
|
expire = datetime.now(datetime.timezone.utc) + timedelta(days=7)
|
||||||
|
|
||||||
to_encode.update({"exp": expire, "type": "refresh"})
|
to_encode.update({"exp": expire, "type": "refresh"})
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ class BaseEvent:
|
|||||||
if not self.event_id:
|
if not self.event_id:
|
||||||
self.event_id = str(uuid.uuid4())
|
self.event_id = str(uuid.uuid4())
|
||||||
if not self.timestamp:
|
if not self.timestamp:
|
||||||
self.timestamp = datetime.utcnow()
|
self.timestamp = datetime.now(datetime.timezone.utc)
|
||||||
|
|
||||||
# Training Events
|
# Training Events
|
||||||
@dataclass
|
@dataclass
|
||||||
|
|||||||
@@ -22,9 +22,9 @@ class JWTHandler:
|
|||||||
to_encode = data.copy()
|
to_encode = data.copy()
|
||||||
|
|
||||||
if expires_delta:
|
if expires_delta:
|
||||||
expire = datetime.utcnow() + expires_delta
|
expire = datetime.now(datetime.timezone.utc) + expires_delta
|
||||||
else:
|
else:
|
||||||
expire = datetime.utcnow() + timedelta(minutes=30)
|
expire = datetime.now(datetime.timezone.utc) + timedelta(minutes=30)
|
||||||
|
|
||||||
to_encode.update({"exp": expire, "type": "access"})
|
to_encode.update({"exp": expire, "type": "access"})
|
||||||
|
|
||||||
@@ -36,9 +36,9 @@ class JWTHandler:
|
|||||||
to_encode = data.copy()
|
to_encode = data.copy()
|
||||||
|
|
||||||
if expires_delta:
|
if expires_delta:
|
||||||
expire = datetime.utcnow() + expires_delta
|
expire = datetime.now(datetime.timezone.utc) + expires_delta
|
||||||
else:
|
else:
|
||||||
expire = datetime.utcnow() + timedelta(days=7)
|
expire = datetime.now(datetime.timezone.utc) + timedelta(days=7)
|
||||||
|
|
||||||
to_encode.update({"exp": expire, "type": "refresh"})
|
to_encode.update({"exp": expire, "type": "refresh"})
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ class BaseEvent:
|
|||||||
if not self.event_id:
|
if not self.event_id:
|
||||||
self.event_id = str(uuid.uuid4())
|
self.event_id = str(uuid.uuid4())
|
||||||
if not self.timestamp:
|
if not self.timestamp:
|
||||||
self.timestamp = datetime.utcnow()
|
self.timestamp = datetime.now(datetime.timezone.utc)
|
||||||
|
|
||||||
# Training Events
|
# Training Events
|
||||||
@dataclass
|
@dataclass
|
||||||
|
|||||||
@@ -22,9 +22,9 @@ class JWTHandler:
|
|||||||
to_encode = data.copy()
|
to_encode = data.copy()
|
||||||
|
|
||||||
if expires_delta:
|
if expires_delta:
|
||||||
expire = datetime.utcnow() + expires_delta
|
expire = datetime.now(datetime.timezone.utc) + expires_delta
|
||||||
else:
|
else:
|
||||||
expire = datetime.utcnow() + timedelta(minutes=30)
|
expire = datetime.now(datetime.timezone.utc) + timedelta(minutes=30)
|
||||||
|
|
||||||
to_encode.update({"exp": expire, "type": "access"})
|
to_encode.update({"exp": expire, "type": "access"})
|
||||||
|
|
||||||
@@ -36,9 +36,9 @@ class JWTHandler:
|
|||||||
to_encode = data.copy()
|
to_encode = data.copy()
|
||||||
|
|
||||||
if expires_delta:
|
if expires_delta:
|
||||||
expire = datetime.utcnow() + expires_delta
|
expire = datetime.now(datetime.timezone.utc) + expires_delta
|
||||||
else:
|
else:
|
||||||
expire = datetime.utcnow() + timedelta(days=7)
|
expire = datetime.now(datetime.timezone.utc) + timedelta(days=7)
|
||||||
|
|
||||||
to_encode.update({"exp": expire, "type": "refresh"})
|
to_encode.update({"exp": expire, "type": "refresh"})
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ class BaseEvent:
|
|||||||
if not self.event_id:
|
if not self.event_id:
|
||||||
self.event_id = str(uuid.uuid4())
|
self.event_id = str(uuid.uuid4())
|
||||||
if not self.timestamp:
|
if not self.timestamp:
|
||||||
self.timestamp = datetime.utcnow()
|
self.timestamp = datetime.now(datetime.timezone.utc)
|
||||||
|
|
||||||
# Training Events
|
# Training Events
|
||||||
@dataclass
|
@dataclass
|
||||||
|
|||||||
@@ -22,9 +22,9 @@ class JWTHandler:
|
|||||||
to_encode = data.copy()
|
to_encode = data.copy()
|
||||||
|
|
||||||
if expires_delta:
|
if expires_delta:
|
||||||
expire = datetime.utcnow() + expires_delta
|
expire = datetime.now(datetime.timezone.utc) + expires_delta
|
||||||
else:
|
else:
|
||||||
expire = datetime.utcnow() + timedelta(minutes=30)
|
expire = datetime.now(datetime.timezone.utc) + timedelta(minutes=30)
|
||||||
|
|
||||||
to_encode.update({"exp": expire, "type": "access"})
|
to_encode.update({"exp": expire, "type": "access"})
|
||||||
|
|
||||||
@@ -36,9 +36,9 @@ class JWTHandler:
|
|||||||
to_encode = data.copy()
|
to_encode = data.copy()
|
||||||
|
|
||||||
if expires_delta:
|
if expires_delta:
|
||||||
expire = datetime.utcnow() + expires_delta
|
expire = datetime.now(datetime.timezone.utc) + expires_delta
|
||||||
else:
|
else:
|
||||||
expire = datetime.utcnow() + timedelta(days=7)
|
expire = datetime.now(datetime.timezone.utc) + timedelta(days=7)
|
||||||
|
|
||||||
to_encode.update({"exp": expire, "type": "refresh"})
|
to_encode.update({"exp": expire, "type": "refresh"})
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ class BaseEvent:
|
|||||||
if not self.event_id:
|
if not self.event_id:
|
||||||
self.event_id = str(uuid.uuid4())
|
self.event_id = str(uuid.uuid4())
|
||||||
if not self.timestamp:
|
if not self.timestamp:
|
||||||
self.timestamp = datetime.utcnow()
|
self.timestamp = datetime.now(datetime.timezone.utc)
|
||||||
|
|
||||||
# Training Events
|
# Training Events
|
||||||
@dataclass
|
@dataclass
|
||||||
|
|||||||
@@ -22,9 +22,9 @@ class JWTHandler:
|
|||||||
to_encode = data.copy()
|
to_encode = data.copy()
|
||||||
|
|
||||||
if expires_delta:
|
if expires_delta:
|
||||||
expire = datetime.utcnow() + expires_delta
|
expire = datetime.now(datetime.timezone.utc) + expires_delta
|
||||||
else:
|
else:
|
||||||
expire = datetime.utcnow() + timedelta(minutes=30)
|
expire = datetime.now(datetime.timezone.utc) + timedelta(minutes=30)
|
||||||
|
|
||||||
to_encode.update({"exp": expire, "type": "access"})
|
to_encode.update({"exp": expire, "type": "access"})
|
||||||
|
|
||||||
@@ -36,9 +36,9 @@ class JWTHandler:
|
|||||||
to_encode = data.copy()
|
to_encode = data.copy()
|
||||||
|
|
||||||
if expires_delta:
|
if expires_delta:
|
||||||
expire = datetime.utcnow() + expires_delta
|
expire = datetime.now(datetime.timezone.utc) + expires_delta
|
||||||
else:
|
else:
|
||||||
expire = datetime.utcnow() + timedelta(days=7)
|
expire = datetime.now(datetime.timezone.utc) + timedelta(days=7)
|
||||||
|
|
||||||
to_encode.update({"exp": expire, "type": "refresh"})
|
to_encode.update({"exp": expire, "type": "refresh"})
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ class BaseEvent:
|
|||||||
if not self.event_id:
|
if not self.event_id:
|
||||||
self.event_id = str(uuid.uuid4())
|
self.event_id = str(uuid.uuid4())
|
||||||
if not self.timestamp:
|
if not self.timestamp:
|
||||||
self.timestamp = datetime.utcnow()
|
self.timestamp = datetime.now(datetime.timezone.utc)
|
||||||
|
|
||||||
# Training Events
|
# Training Events
|
||||||
@dataclass
|
@dataclass
|
||||||
|
|||||||
@@ -46,8 +46,8 @@ class TrainingService:
|
|||||||
progress=0,
|
progress=0,
|
||||||
current_step="Queued for training",
|
current_step="Queued for training",
|
||||||
requested_by=user_data.get("user_id"),
|
requested_by=user_data.get("user_id"),
|
||||||
training_data_from=datetime.utcnow() - timedelta(days=request.training_days),
|
training_data_from= datetime.now(datetime.timezone.utc) - timedelta(days=request.training_days),
|
||||||
training_data_to=datetime.utcnow()
|
training_data_to= datetime.now(datetime.timezone.utc)
|
||||||
)
|
)
|
||||||
|
|
||||||
db.add(training_job)
|
db.add(training_job)
|
||||||
@@ -64,7 +64,7 @@ class TrainingService:
|
|||||||
TrainingStartedEvent(
|
TrainingStartedEvent(
|
||||||
event_id=str(uuid.uuid4()),
|
event_id=str(uuid.uuid4()),
|
||||||
service_name="training-service",
|
service_name="training-service",
|
||||||
timestamp=datetime.utcnow(),
|
timestamp= datetime.now(datetime.timezone.utc),
|
||||||
data={
|
data={
|
||||||
"job_id": str(training_job.id),
|
"job_id": str(training_job.id),
|
||||||
"tenant_id": tenant_id,
|
"tenant_id": tenant_id,
|
||||||
@@ -206,7 +206,7 @@ class TrainingService:
|
|||||||
async def _execute_training(self, job_id: str, request: TrainingRequest, db: AsyncSession):
|
async def _execute_training(self, job_id: str, request: TrainingRequest, db: AsyncSession):
|
||||||
"""Execute training job"""
|
"""Execute training job"""
|
||||||
|
|
||||||
start_time = datetime.utcnow()
|
start_time = datetime.now(datetime.timezone.utc)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# Update job status
|
# Update job status
|
||||||
@@ -229,7 +229,7 @@ class TrainingService:
|
|||||||
await self._save_trained_models(job_id, models_result, validation_result, db)
|
await self._save_trained_models(job_id, models_result, validation_result, db)
|
||||||
|
|
||||||
# Complete job
|
# Complete job
|
||||||
duration = int((datetime.utcnow() - start_time).total_seconds())
|
duration = int(( datetime.now(datetime.timezone.utc) - start_time).total_seconds())
|
||||||
await self._complete_job(job_id, models_result, validation_result, duration, db)
|
await self._complete_job(job_id, models_result, validation_result, duration, db)
|
||||||
|
|
||||||
# Publish completion event
|
# Publish completion event
|
||||||
@@ -239,7 +239,7 @@ class TrainingService:
|
|||||||
TrainingCompletedEvent(
|
TrainingCompletedEvent(
|
||||||
event_id=str(uuid.uuid4()),
|
event_id=str(uuid.uuid4()),
|
||||||
service_name="training-service",
|
service_name="training-service",
|
||||||
timestamp=datetime.utcnow(),
|
timestamp= datetime.now(datetime.timezone.utc),
|
||||||
data={
|
data={
|
||||||
"job_id": str(job_id),
|
"job_id": str(job_id),
|
||||||
"models_trained": len(models_result),
|
"models_trained": len(models_result),
|
||||||
@@ -263,7 +263,7 @@ class TrainingService:
|
|||||||
TrainingFailedEvent(
|
TrainingFailedEvent(
|
||||||
event_id=str(uuid.uuid4()),
|
event_id=str(uuid.uuid4()),
|
||||||
service_name="training-service",
|
service_name="training-service",
|
||||||
timestamp=datetime.utcnow(),
|
timestamp= datetime.now(datetime.timezone.utc),
|
||||||
data={
|
data={
|
||||||
"job_id": str(job_id),
|
"job_id": str(job_id),
|
||||||
"error": str(e)
|
"error": str(e)
|
||||||
@@ -281,7 +281,7 @@ class TrainingService:
|
|||||||
status=status,
|
status=status,
|
||||||
progress=progress,
|
progress=progress,
|
||||||
current_step=current_step,
|
current_step=current_step,
|
||||||
updated_at=datetime.utcnow()
|
updated_at= datetime.now(datetime.timezone.utc)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
await db.commit()
|
await db.commit()
|
||||||
@@ -374,7 +374,7 @@ class TrainingService:
|
|||||||
status="completed",
|
status="completed",
|
||||||
progress=100,
|
progress=100,
|
||||||
current_step="Training completed successfully",
|
current_step="Training completed successfully",
|
||||||
completed_at=datetime.utcnow(),
|
completed_at= datetime.now(datetime.timezone.utc),
|
||||||
duration_seconds=duration,
|
duration_seconds=duration,
|
||||||
models_trained=models_result,
|
models_trained=models_result,
|
||||||
metrics=metrics,
|
metrics=metrics,
|
||||||
|
|||||||
@@ -22,9 +22,9 @@ class JWTHandler:
|
|||||||
to_encode = data.copy()
|
to_encode = data.copy()
|
||||||
|
|
||||||
if expires_delta:
|
if expires_delta:
|
||||||
expire = datetime.utcnow() + expires_delta
|
expire = datetime.now(datetime.timezone.utc) + expires_delta
|
||||||
else:
|
else:
|
||||||
expire = datetime.utcnow() + timedelta(minutes=30)
|
expire = datetime.now(datetime.timezone.utc) + timedelta(minutes=30)
|
||||||
|
|
||||||
to_encode.update({"exp": expire, "type": "access"})
|
to_encode.update({"exp": expire, "type": "access"})
|
||||||
|
|
||||||
@@ -36,9 +36,9 @@ class JWTHandler:
|
|||||||
to_encode = data.copy()
|
to_encode = data.copy()
|
||||||
|
|
||||||
if expires_delta:
|
if expires_delta:
|
||||||
expire = datetime.utcnow() + expires_delta
|
expire = datetime.now(datetime.timezone.utc) + expires_delta
|
||||||
else:
|
else:
|
||||||
expire = datetime.utcnow() + timedelta(days=7)
|
expire = datetime.now(datetime.timezone.utc) + timedelta(days=7)
|
||||||
|
|
||||||
to_encode.update({"exp": expire, "type": "refresh"})
|
to_encode.update({"exp": expire, "type": "refresh"})
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ class BaseEvent:
|
|||||||
if not self.event_id:
|
if not self.event_id:
|
||||||
self.event_id = str(uuid.uuid4())
|
self.event_id = str(uuid.uuid4())
|
||||||
if not self.timestamp:
|
if not self.timestamp:
|
||||||
self.timestamp = datetime.utcnow()
|
self.timestamp = datetime.now(datetime.timezone.utc)
|
||||||
|
|
||||||
# Training Events
|
# Training Events
|
||||||
@dataclass
|
@dataclass
|
||||||
|
|||||||
@@ -22,9 +22,9 @@ class JWTHandler:
|
|||||||
to_encode = data.copy()
|
to_encode = data.copy()
|
||||||
|
|
||||||
if expires_delta:
|
if expires_delta:
|
||||||
expire = datetime.utcnow() + expires_delta
|
expire = datetime.now(datetime.timezone.utc) + expires_delta
|
||||||
else:
|
else:
|
||||||
expire = datetime.utcnow() + timedelta(minutes=30)
|
expire = datetime.now(datetime.timezone.utc) + timedelta(minutes=30)
|
||||||
|
|
||||||
to_encode.update({"exp": expire, "type": "access"})
|
to_encode.update({"exp": expire, "type": "access"})
|
||||||
|
|
||||||
@@ -36,9 +36,9 @@ class JWTHandler:
|
|||||||
to_encode = data.copy()
|
to_encode = data.copy()
|
||||||
|
|
||||||
if expires_delta:
|
if expires_delta:
|
||||||
expire = datetime.utcnow() + expires_delta
|
expire = datetime.now(datetime.timezone.utc) + expires_delta
|
||||||
else:
|
else:
|
||||||
expire = datetime.utcnow() + timedelta(days=7)
|
expire = datetime.now(datetime.timezone.utc) + timedelta(days=7)
|
||||||
|
|
||||||
to_encode.update({"exp": expire, "type": "refresh"})
|
to_encode.update({"exp": expire, "type": "refresh"})
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ class BaseEvent:
|
|||||||
if not self.event_id:
|
if not self.event_id:
|
||||||
self.event_id = str(uuid.uuid4())
|
self.event_id = str(uuid.uuid4())
|
||||||
if not self.timestamp:
|
if not self.timestamp:
|
||||||
self.timestamp = datetime.utcnow()
|
self.timestamp = datetime.now(datetime.timezone.utc)
|
||||||
|
|
||||||
# Training Events
|
# Training Events
|
||||||
@dataclass
|
@dataclass
|
||||||
|
|||||||
Reference in New Issue
Block a user