[changes] Using Pydantic to standardize the time data for scheduled tasks
This commit is contained in:
@@ -1,9 +1,10 @@
|
|||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Any, Dict, Optional
|
from typing import Annotated, Any, Dict, Optional
|
||||||
|
|
||||||
from dotenv import load_dotenv
|
from dotenv import load_dotenv
|
||||||
|
from pydantic import Field, TypeAdapter
|
||||||
|
|
||||||
load_dotenv()
|
load_dotenv()
|
||||||
|
|
||||||
@@ -206,10 +207,18 @@ class Settings:
|
|||||||
MEMORY_CACHE_REGENERATION_HOURS: int = int(os.getenv("MEMORY_CACHE_REGENERATION_HOURS", "24"))
|
MEMORY_CACHE_REGENERATION_HOURS: int = int(os.getenv("MEMORY_CACHE_REGENERATION_HOURS", "24"))
|
||||||
|
|
||||||
# Celery Beat Schedule Configuration (定时任务执行频率)
|
# Celery Beat Schedule Configuration (定时任务执行频率)
|
||||||
MEMORY_INCREMENT_HOUR: int = int(os.getenv("MEMORY_INCREMENT_HOUR", "2"))
|
MEMORY_INCREMENT_HOUR: int = TypeAdapter(
|
||||||
MEMORY_INCREMENT_MINUTE: int = int(os.getenv("MEMORY_INCREMENT_MINUTE", "0"))
|
Annotated[int, Field(ge=0, le=23, description="cron hour [0, 23]")]
|
||||||
WORKSPACE_REFLECTION_INTERVAL_SECONDS: int = int(os.getenv("WORKSPACE_REFLECTION_INTERVAL_SECONDS", "30"))
|
).validate_python(int(os.getenv("MEMORY_INCREMENT_HOUR", "2")))
|
||||||
FORGETTING_CYCLE_INTERVAL_HOURS: int = int(os.getenv("FORGETTING_CYCLE_INTERVAL_HOURS", "24"))
|
MEMORY_INCREMENT_MINUTE: int = TypeAdapter(
|
||||||
|
Annotated[int, Field(ge=0, le=59, description="cron minute [0, 59]")]
|
||||||
|
).validate_python(int(os.getenv("MEMORY_INCREMENT_MINUTE", "0")))
|
||||||
|
WORKSPACE_REFLECTION_INTERVAL_SECONDS: int = TypeAdapter(
|
||||||
|
Annotated[int, Field(ge=1, description="reflection interval in seconds, must be >= 1")]
|
||||||
|
).validate_python(int(os.getenv("WORKSPACE_REFLECTION_INTERVAL_SECONDS", "30")))
|
||||||
|
FORGETTING_CYCLE_INTERVAL_HOURS: int = TypeAdapter(
|
||||||
|
Annotated[int, Field(ge=1, description="forgetting cycle interval in hours, must be >= 1")]
|
||||||
|
).validate_python(int(os.getenv("FORGETTING_CYCLE_INTERVAL_HOURS", "24")))
|
||||||
|
|
||||||
# Memory Module Configuration (internal)
|
# Memory Module Configuration (internal)
|
||||||
MEMORY_OUTPUT_DIR: str = os.getenv("MEMORY_OUTPUT_DIR", "logs/memory-output")
|
MEMORY_OUTPUT_DIR: str = os.getenv("MEMORY_OUTPUT_DIR", "logs/memory-output")
|
||||||
|
|||||||
Reference in New Issue
Block a user