| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- # -*- coding: utf-8 -*-
- """
- System-bezogene Netzwerk-Befehle.
- """
- from dataclasses import dataclass, field
- from typing import Any
- from trixy_core.network.cmd.base import CommandMessage
- @dataclass
- class SystemReboot(CommandMessage):
- """
- System-Neustart anfordern.
- Kann vom Server an Satellites oder umgekehrt gesendet werden.
- """
- target: str = "" # satellite_id oder "server"
- delay_seconds: int = 0
- reason: str = ""
- @dataclass
- class SystemUpdate(CommandMessage):
- """
- System-Update anfordern.
- Fordert ein Update des Systems oder der Modelle an.
- """
- target: str = ""
- update_type: str = "" # system, models, config
- version: str = ""
- force: bool = False
- @dataclass
- class SystemStatus(CommandMessage):
- """
- System-Status-Abfrage oder -Antwort.
- Enthält den aktuellen Status des Systems.
- """
- target: str = ""
- status: str = "" # running, starting, stopping, error
- uptime_seconds: float = 0.0
- memory_usage_mb: float = 0.0
- cpu_usage_percent: float = 0.0
- active_satellites: int = 0
- loaded_plugins: list[str] = field(default_factory=list)
- errors: list[str] = field(default_factory=list)
- extra: dict[str, Any] = field(default_factory=dict)
- @dataclass
- class ServerShutdown(CommandMessage):
- """
- Server-Shutdown-Benachrichtigung.
- Wird an alle verbundenen Clients gesendet, bevor der Server
- heruntergefahren wird. Clients sollten darauf reagieren und
- ihre Verbindung sauber beenden.
- """
- reason: str = ""
- reconnect_after_seconds: int = 0 # 0 = keine Wiederverbindung erwartet
|