Skip to content

Commit bcaf361

Browse files
committed
fix(dynamiccpu): allow to send floating for cpu by splitting schemas by memory and cpu
1 parent fec496f commit bcaf361

File tree

3 files changed

+31
-6
lines changed

3 files changed

+31
-6
lines changed

app/models/__init__.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1-
from .schemas import DynamicLoadRequest, LoadRequest, ProbeRequest, TerminateRequest
1+
from .schemas import (
2+
DynamicCPULoadRequest,
3+
DynamicMemoryLoadRequest,
4+
LoadRequest,
5+
ProbeRequest,
6+
TerminateRequest,
7+
)
28

3-
__all__ = ["DynamicLoadRequest", "LoadRequest", "ProbeRequest", "TerminateRequest"]
9+
__all__ = [
10+
"DynamicCPULoadRequest",
11+
"DynamicMemoryLoadRequest",
12+
"LoadRequest",
13+
"ProbeRequest",
14+
"TerminateRequest",
15+
]

app/models/schemas.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,16 @@
33
from enum import Enum
44

55

6-
class DynamicLoadRequest(BaseModel):
6+
class DynamicCPULoadRequest(BaseModel):
7+
start_value: float = Field(..., ge=0, description="Starting load")
8+
end_value: float = Field(..., ge=0, description="Ending load")
9+
duration: int = Field(1, ge=1, description="Duration in secondes")
10+
stop_at_end: bool = Field(
11+
False, description="Whether to stop load after completion"
12+
)
13+
14+
15+
class DynamicMemoryLoadRequest(BaseModel):
716
start_value: int = Field(..., ge=0, description="Starting load")
817
end_value: int = Field(..., ge=0, description="Ending load")
918
duration: int = Field(1, ge=1, description="Duration in secondes")

app/routers/load.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
from fastapi import APIRouter, HTTPException
2-
from ..models.schemas import DynamicLoadRequest, LoadRequest
2+
from ..models.schemas import (
3+
DynamicCPULoadRequest,
4+
DynamicMemoryLoadRequest,
5+
LoadRequest,
6+
)
37
from ..managers.load_manager import LoadManager
48

59
router = APIRouter(prefix="/load", tags=["Load Management"])
610
load_manager = LoadManager()
711

812

913
@router.post("/cpu/dynamic")
10-
async def start_dynamic_cpu_load(request: DynamicLoadRequest):
14+
async def start_dynamic_cpu_load(request: DynamicCPULoadRequest):
1115
"""Start a progressive CPU load"""
1216
try:
1317
load_manager.dynamic_cpu_load(
@@ -46,7 +50,7 @@ async def stop_cpu_load():
4650

4751

4852
@router.post("/memory/dynamic")
49-
async def start_dynamic_memory_load(request: DynamicLoadRequest):
53+
async def start_dynamic_memory_load(request: DynamicMemoryLoadRequest):
5054
"""Start a progressive memory load"""
5155
try:
5256
load_manager.dynamic_memory_load(

0 commit comments

Comments
 (0)