SIENTIAPDE-1193
Update requirements and refactor Gates activity for improved datetime handling - Update sientia-dataops-library reference in requirements.txt to version 1.4.3. - Refactor datetime handling in Gates activity to use a consistent format with timezone support, replacing direct datetime calls with a centralized now() function and DATETIME_FORMAT_WITH_TZ constant.
This commit is contained in:
@@ -7,6 +7,7 @@ with workflow.unsafe.imports_passed_through():
|
|||||||
from sientia_do.notifications.models import NotificationLevel
|
from sientia_do.notifications.models import NotificationLevel
|
||||||
from sientia_do.temporal.activities.base import BaseActivity
|
from sientia_do.temporal.activities.base import BaseActivity
|
||||||
from sientia_do.observability.logger import Logger
|
from sientia_do.observability.logger import Logger
|
||||||
|
from sientia_do.temporal.constants import DATETIME_FORMAT_WITH_TZ, now
|
||||||
from laborious.utils.filters.mlflow_filters import nan_values_filter, api_error_filter
|
from laborious.utils.filters.mlflow_filters import nan_values_filter, api_error_filter
|
||||||
from typing import Any
|
from typing import Any
|
||||||
from laborious.utils.filters.conditional_filters import (
|
from laborious.utils.filters.conditional_filters import (
|
||||||
@@ -14,7 +15,6 @@ with workflow.unsafe.imports_passed_through():
|
|||||||
filter_specific_variables_null_values
|
filter_specific_variables_null_values
|
||||||
)
|
)
|
||||||
from pandas import DataFrame
|
from pandas import DataFrame
|
||||||
from datetime import datetime
|
|
||||||
from laborious import metrics
|
from laborious import metrics
|
||||||
|
|
||||||
input_filter_functions = {
|
input_filter_functions = {
|
||||||
@@ -319,12 +319,15 @@ class Gates(BaseActivity):
|
|||||||
data = DataFrame(input_data['data'])
|
data = DataFrame(input_data['data'])
|
||||||
|
|
||||||
if data.empty:
|
if data.empty:
|
||||||
return datetime.now().strftime('%Y-%m-%d %H:%M:%S')
|
return now().strftime(DATETIME_FORMAT_WITH_TZ)
|
||||||
|
|
||||||
|
max_timestamp = max(
|
||||||
|
data['timestamp'].values.tolist()).strftime(DATETIME_FORMAT_WITH_TZ)
|
||||||
|
|
||||||
self.info(
|
self.info(
|
||||||
f"Last timestamp: {max(data['timestamp'].values.tolist())}", metadata)
|
f"Last timestamp: {max_timestamp}", metadata)
|
||||||
|
|
||||||
return max(data['timestamp'].values.tolist())
|
return max_timestamp
|
||||||
|
|
||||||
@activity.defn(name="write_metrics")
|
@activity.defn(name="write_metrics")
|
||||||
async def write_metrics(self, input_data: dict[str, Any]):
|
async def write_metrics(self, input_data: dict[str, Any]):
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ psycopg2-binary
|
|||||||
sqlalchemy
|
sqlalchemy
|
||||||
asyncua
|
asyncua
|
||||||
redis
|
redis
|
||||||
git+ssh://git@github.com/Aignosi/sientia-dataops-library.git@1.4.2
|
# git+ssh://git@github.com/Aignosi/sientia-dataops-library.git@1.4.3
|
||||||
|
/home/grezewave/Documents/projects/sientia/sientia-dataops-library
|
||||||
git+ssh://git@github.com/Aignosi/sientia-mlops-library.git@0.38.5
|
git+ssh://git@github.com/Aignosi/sientia-mlops-library.git@0.38.5
|
||||||
prometheus-client
|
prometheus-client
|
||||||
|
|||||||
Reference in New Issue
Block a user