Skip to content

Commit d7f8c35

Browse files
committed
fix: ensure download service starts normal after reboot
1 parent 76b0bdf commit d7f8c35

10 files changed

Lines changed: 37 additions & 254 deletions

File tree

backend/src/module/core/aiocore.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@
55

66
from module.utils.events import event_bus
77

8-
from .task_manager import TaskManager
9-
8+
from .task_manager import TaskManager
109
logger = logging.getLogger(__name__)
1110

1211

@@ -71,6 +70,8 @@ async def _register_tasks(self) -> None:
7170
interval=config["interval"],
7271
)
7372
logger.debug(f"[AsyncCore] 注册任务: {config['name']}")
73+
else:
74+
logger.debug(f"[AsyncCore] 跳过未启用的任务: {config['name']}")
7475

7576
async def _register_event_handlers(self) -> None:
7677
"""注册事件处理器"""
@@ -121,6 +122,7 @@ async def stop(self) -> None:
121122
if not self._running:
122123
return
123124

125+
self._initialized = False
124126
logger.info("[AsyncCore] 开始停止应用...")
125127
self._running = False
126128

backend/src/module/core/renamer_service.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,24 @@ class RenamerService(BaseService):
1515

1616
def __init__(self):
1717
super().__init__()
18-
self._renamer: Renamer | None = None
18+
self._renamer: Renamer = Renamer()
19+
self.enable = settings.bangumi_manage.enable
1920

2021
async def _setup(self) -> None:
2122
"""初始化重命名器"""
2223
self._renamer = Renamer()
2324

25+
async def initialize(self) -> None:
26+
await super().initialize()
27+
self.enable = settings.bangumi_manage.enable
28+
29+
2430
def get_task_config(self) -> dict[str, Any]:
2531
"""获取重命名任务配置"""
2632
return {
2733
"name": "renamer_check",
2834
"interval": 600, # 转换为秒
29-
"enabled": settings.bangumi_manage.enable,
35+
"enabled": self.enable,
3036
}
3137

3238
async def execute(self) -> None:

backend/src/module/core/services.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,6 @@ def get_task_config(self) -> dict[str, Any]:
130130
return {
131131
"name": "download_process",
132132
"interval": 10,
133-
"max_retries": 5,
134133
"enabled": True,
135134
}
136135

backend/src/module/core/task_manager.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ class TaskInfo:
2222
task: asyncio.Task[Any] | None = None
2323
last_run: float | None = None
2424
error_count: int = 0
25-
max_retries: int = 3
2625
metadata: dict[str, Any] = field(default_factory=dict)
2726

2827

@@ -33,12 +32,11 @@ def __init__(self):
3332
self._shutdown_event: asyncio.Event = asyncio.Event()
3433

3534
async def register_task(
36-
self, name: str, coro_func: Callable, interval: int, max_retries: int = 3
35+
self, name: str, coro_func: Callable, interval: int
3736
) -> None:
3837
"""注册任务"""
3938
self._tasks[name] = TaskInfo(
4039
name=name,
41-
max_retries=max_retries,
4240
metadata={"coro_func": coro_func, "interval": interval},
4341
)
4442
logger.info(f"[TaskManager] 已注册任务: {name}")

backend/src/module/core/task_queue.py

Lines changed: 0 additions & 231 deletions
This file was deleted.

backend/src/module/downloader/client/qbittorrent/qbittorrent.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,11 +149,9 @@ async def torrent_info(self, hash: str) -> TorrentDownloadInfo | None:
149149
url=QB_API_URL["properties"],
150150
params=data,
151151
)
152-
print(reps.json())
153152
reps.raise_for_status()
154153
logger.debug(f"[qbittorrent] Torrent info: {hash}")
155154
reps = reps.json()
156-
# print(reps)
157155
logger.debug(
158156
f"[qbittorrent] Torrent info: {reps['eta']=}, {reps['save_path']=}, {reps['completion_date']=}"
159157
)

0 commit comments

Comments
 (0)