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:
Till Tomczak 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
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:
"""
@ -41,6 +49,7 @@ class BackgroundTaskScheduler:
Returns:
bool: True wenn erfolgreich, False wenn die ID bereits existiert
"""
logger = get_scheduler_logger()
if task_id in self._tasks:
logger.error(f"Task mit ID {task_id} existiert bereits")
return False
@ -77,6 +86,7 @@ class BackgroundTaskScheduler:
Returns:
bool: True wenn erfolgreich, False wenn die ID nicht existiert
"""
logger = get_scheduler_logger()
if task_id not in self._tasks:
logger.error(f"Task mit ID {task_id} existiert nicht")
return False
@ -112,6 +122,7 @@ class BackgroundTaskScheduler:
Returns:
bool: True wenn erfolgreich, False wenn die ID nicht existiert
"""
logger = get_scheduler_logger()
if task_id not in self._tasks:
logger.error(f"Task mit ID {task_id} existiert nicht")
return False
@ -161,6 +172,7 @@ class BackgroundTaskScheduler:
Returns:
bool: True wenn erfolgreich gestartet, False wenn bereits läuft
"""
logger = get_scheduler_logger()
if self._running:
logger.warning("Scheduler läuft bereits")
return False
@ -181,6 +193,7 @@ class BackgroundTaskScheduler:
Returns:
bool: True wenn erfolgreich gestoppt, False wenn nicht läuft
"""
logger = get_scheduler_logger()
if not self._running:
logger.warning("Scheduler läuft nicht")
return False
@ -212,6 +225,7 @@ class BackgroundTaskScheduler:
continue
if now >= task["next_run"]:
logger = get_scheduler_logger()
logger.info(f"Ausführung von Task {task_id}")
try: