mirror of
https://github.com/rommapp/romm.git
synced 2026-06-28 06:46:00 +00:00
set timeouts
This commit is contained in:
@@ -123,6 +123,7 @@ OIDC_TLS_CACERTFILE: Final = os.environ.get("OIDC_TLS_CACERTFILE", None)
|
||||
SCAN_TIMEOUT: Final = int(os.environ.get("SCAN_TIMEOUT", 60 * 60 * 4)) # 4 hours
|
||||
|
||||
# TASKS
|
||||
TASK_TIMEOUT: Final = int(os.environ.get("TASK_TIMEOUT", 60 * 5)) # 5 minutes
|
||||
ENABLE_RESCAN_ON_FILESYSTEM_CHANGE: Final = str_to_bool(
|
||||
os.environ.get("ENABLE_RESCAN_ON_FILESYSTEM_CHANGE", "false")
|
||||
)
|
||||
|
||||
@@ -510,7 +510,7 @@ async def scan_platforms(
|
||||
if len(missed_platforms) > 0:
|
||||
log.warning(f"{hl('Missing')} platforms from filesystem:")
|
||||
for p in missed_platforms:
|
||||
log.warning(f" - {p.slug}")
|
||||
log.warning(f" - {p.slug} ({p.fs_slug})")
|
||||
|
||||
log.info(f"{emoji.EMOJI_CHECK_MARK} Scan completed")
|
||||
await sm.emit("scan:done", scan_stats.__dict__)
|
||||
|
||||
@@ -3,6 +3,7 @@ from datetime import datetime, timezone
|
||||
from config import (
|
||||
ENABLE_RESCAN_ON_FILESYSTEM_CHANGE,
|
||||
RESCAN_ON_FILESYSTEM_CHANGE_DELAY,
|
||||
TASK_TIMEOUT,
|
||||
)
|
||||
from decorators.auth import protected_route
|
||||
from endpoints.responses import TaskExecutionResponse, TaskStatusResponse
|
||||
@@ -144,7 +145,7 @@ async def run_all_tasks(request: Request) -> list[TaskExecutionResponse]:
|
||||
)
|
||||
|
||||
jobs = [
|
||||
(task_name, low_prio_queue.enqueue(task_instance.run))
|
||||
(task_name, low_prio_queue.enqueue(task_instance.run, timeout=TASK_TIMEOUT))
|
||||
for task_name, task_instance in runnable_tasks.items()
|
||||
]
|
||||
|
||||
@@ -185,7 +186,7 @@ async def run_single_task(request: Request, task_name: str) -> TaskExecutionResp
|
||||
detail=f"Task '{task_name}' cannot be run",
|
||||
)
|
||||
|
||||
job = low_prio_queue.enqueue(task_instance.run)
|
||||
job = low_prio_queue.enqueue(task_instance.run, timeout=TASK_TIMEOUT)
|
||||
|
||||
return {
|
||||
"task_name": task_name,
|
||||
|
||||
@@ -2,6 +2,7 @@ from abc import ABC, abstractmethod
|
||||
from typing import Any
|
||||
|
||||
import httpx
|
||||
from config import TASK_TIMEOUT
|
||||
from exceptions.task_exceptions import SchedulerException
|
||||
from handler.redis_handler import low_prio_queue
|
||||
from logger.logger import log
|
||||
@@ -86,6 +87,7 @@ class PeriodicTask(Task, ABC):
|
||||
self.cron_string,
|
||||
func=self.func,
|
||||
repeat=None,
|
||||
timeout=TASK_TIMEOUT,
|
||||
)
|
||||
|
||||
return None
|
||||
|
||||
@@ -12,6 +12,7 @@ from config import (
|
||||
LAUNCHBOX_API_ENABLED,
|
||||
LIBRARY_BASE_PATH,
|
||||
RESCAN_ON_FILESYSTEM_CHANGE_DELAY,
|
||||
SCAN_TIMEOUT,
|
||||
SENTRY_DSN,
|
||||
)
|
||||
from config.config_manager import config_manager as cm
|
||||
@@ -133,6 +134,7 @@ def process_changes(changes: Sequence[Change]) -> None:
|
||||
[],
|
||||
scan_type=ScanType.UNIDENTIFIED,
|
||||
metadata_sources=metadata_sources,
|
||||
timeout=SCAN_TIMEOUT,
|
||||
)
|
||||
return
|
||||
|
||||
@@ -155,6 +157,7 @@ def process_changes(changes: Sequence[Change]) -> None:
|
||||
[db_platform.id],
|
||||
scan_type=ScanType.QUICK,
|
||||
metadata_sources=metadata_sources,
|
||||
timeout=SCAN_TIMEOUT,
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -72,7 +72,8 @@ OIDC_SERVER_APPLICATION_URL=
|
||||
ENABLE_RESCAN_ON_FILESYSTEM_CHANGE=true
|
||||
RESCAN_ON_FILESYSTEM_CHANGE_DELAY=5
|
||||
|
||||
# Periodic Tasks (optional)
|
||||
# Tasks (optional)
|
||||
TASK_TIMEOUT=300
|
||||
ENABLE_SCHEDULED_RESCAN=true
|
||||
SCHEDULED_RESCAN_CRON=0 3 * * *
|
||||
ENABLE_SCHEDULED_UPDATE_SWITCH_TITLEDB=true
|
||||
|
||||
Reference in New Issue
Block a user