From 95f46e11b0cf70cc486a865aeb8e4817d4e6c250 Mon Sep 17 00:00:00 2001 From: mccrindlebrian Date: Mon, 29 Sep 2025 09:39:17 +0200 Subject: [PATCH] fix timezone with utc timezone reference --- folding/store.py | 10 ++++------ neurons/validator.py | 14 +++++++------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/folding/store.py b/folding/store.py index 647bb640..a4f9740e 100644 --- a/folding/store.py +++ b/folding/store.py @@ -5,12 +5,10 @@ import sqlite3 import requests from queue import Queue -from typing import Dict, List +from typing import List from dotenv import load_dotenv - +from datetime import timezone from datetime import datetime - -import numpy as np import pandas as pd from atom.epistula.epistula import Epistula @@ -79,7 +77,7 @@ def get_queue(self, validator_hotkey: str, ready=True) -> Queue: if ready: # Calculate the threshold time for ready jobs - now = datetime.utcnow().isoformat() + now = datetime.now(timezone.utc).isoformat() query = f""" SELECT * FROM {self.table_name} WHERE active = 1 @@ -359,7 +357,7 @@ async def update(self, loss: float, hotkey: str): self.best_loss = loss self.best_loss_at = pd.Timestamp.now().floor("s") self.best_hotkey = hotkey - self.updated_at = datetime.now() + self.updated_at = datetime.now(timezone.utc) class MockJob(Job): diff --git a/neurons/validator.py b/neurons/validator.py index 639326da..25f5df28 100644 --- a/neurons/validator.py +++ b/neurons/validator.py @@ -7,7 +7,7 @@ import asyncio import traceback -from datetime import datetime +from datetime import datetime, timezone from typing import Any, Dict, List import netaddr @@ -104,10 +104,10 @@ def __init__(self, config=None): self.last_time_checked = ( self.last_time_checked if hasattr(self, "last_time_checked") - else datetime.now() + else datetime.now(timezone.utc) ) - self.last_time_created_jobs = datetime.now() + self.last_time_created_jobs = datetime.now(timezone.utc) if not self.config.s3.off: try: @@ -308,7 +308,7 @@ async def add_job(self, job_event: dict[str, Any], protein: Protein = None) -> b str(spec_version), job_event["pdb_id"], self.validator_hotkey_reference, - datetime.now().strftime("%Y-%m-%d_%H-%M-%S"), + datetime.now(timezone.utc).strftime("%Y-%m-%d_%H-%M-%S"), ) s3_links = {} for file_type, file_path in files_to_upload.items(): @@ -350,7 +350,7 @@ async def add_job(self, job_event: dict[str, Any], protein: Protein = None) -> b logger.success("Job was uploaded successfully!") - self.last_time_created_jobs = datetime.now() + self.last_time_created_jobs = datetime.now(timezone.utc) # TODO: return job_id return True @@ -501,7 +501,7 @@ async def prepare_event_for_logging(event: Dict): output_links.append(defaultdict(str)) best_cpt_files = [] - output_time = datetime.now().strftime("%Y-%m-%d_%H-%M-%S") + output_time = datetime.now(timezone.utc).strftime("%Y-%m-%d_%H-%M-%S") for idx, (uid, files) in enumerate( zip(job.event["processed_uids"], job.event["files"]) @@ -664,7 +664,7 @@ async def read_and_update_rewards(self): last_time_checked=self.last_time_checked.strftime("%Y-%m-%dT%H:%M:%S") ) - self.last_time_checked = datetime.now() + self.last_time_checked = datetime.now(timezone.utc) if inactive_jobs_queue.qsize() == 0: logger.info("No inactive jobs to update.")