feat: Implement lazy logger initialization in job scheduler

- Introduced a lazy initialization method for the scheduler logger to optimize logging performance.
- Updated logger usage in the BackgroundTaskScheduler class to utilize the new lazy logger method.
This commit is contained in:
2025-05-24 19:24:57 +02:00
parent 62e131c02f
commit 1cfdf020b7
2 changed files with 15 additions and 1 deletions

BIN
backend/app/database/myp.db Normal file

Binary file not shown.

View File

@@ -6,7 +6,15 @@ from datetime import datetime, timedelta
from utils.logging_config import get_logger from utils.logging_config import get_logger
logger = get_logger("scheduler") # Lazy logger initialization
_logger = None
def get_scheduler_logger():
"""Lazy initialization of the scheduler logger."""
global _logger
if _logger is None:
_logger = get_logger("scheduler")
return _logger
class BackgroundTaskScheduler: class BackgroundTaskScheduler:
""" """
@@ -41,6 +49,7 @@ class BackgroundTaskScheduler:
Returns: Returns:
bool: True wenn erfolgreich, False wenn die ID bereits existiert bool: True wenn erfolgreich, False wenn die ID bereits existiert
""" """
logger = get_scheduler_logger()
if task_id in self._tasks: if task_id in self._tasks:
logger.error(f"Task mit ID {task_id} existiert bereits") logger.error(f"Task mit ID {task_id} existiert bereits")
return False return False
@@ -77,6 +86,7 @@ class BackgroundTaskScheduler:
Returns: Returns:
bool: True wenn erfolgreich, False wenn die ID nicht existiert bool: True wenn erfolgreich, False wenn die ID nicht existiert
""" """
logger = get_scheduler_logger()
if task_id not in self._tasks: if task_id not in self._tasks:
logger.error(f"Task mit ID {task_id} existiert nicht") logger.error(f"Task mit ID {task_id} existiert nicht")
return False return False
@@ -112,6 +122,7 @@ class BackgroundTaskScheduler:
Returns: Returns:
bool: True wenn erfolgreich, False wenn die ID nicht existiert bool: True wenn erfolgreich, False wenn die ID nicht existiert
""" """
logger = get_scheduler_logger()
if task_id not in self._tasks: if task_id not in self._tasks:
logger.error(f"Task mit ID {task_id} existiert nicht") logger.error(f"Task mit ID {task_id} existiert nicht")
return False return False
@@ -161,6 +172,7 @@ class BackgroundTaskScheduler:
Returns: Returns:
bool: True wenn erfolgreich gestartet, False wenn bereits läuft bool: True wenn erfolgreich gestartet, False wenn bereits läuft
""" """
logger = get_scheduler_logger()
if self._running: if self._running:
logger.warning("Scheduler läuft bereits") logger.warning("Scheduler läuft bereits")
return False return False
@@ -181,6 +193,7 @@ class BackgroundTaskScheduler:
Returns: Returns:
bool: True wenn erfolgreich gestoppt, False wenn nicht läuft bool: True wenn erfolgreich gestoppt, False wenn nicht läuft
""" """
logger = get_scheduler_logger()
if not self._running: if not self._running:
logger.warning("Scheduler läuft nicht") logger.warning("Scheduler läuft nicht")
return False return False
@@ -212,6 +225,7 @@ class BackgroundTaskScheduler:
continue continue
if now >= task["next_run"]: if now >= task["next_run"]:
logger = get_scheduler_logger()
logger.info(f"Ausführung von Task {task_id}") logger.info(f"Ausführung von Task {task_id}")
try: try: