33from abc import abstractmethod
44
55from module .conf import settings
6+ from module .downloader import AsyncDownloadController
67from module .manager import Renamer , eps_complete
78from module .rss import RSSEngine
8- from module .downloader import AsyncDownloadController
99
1010logger = logging .getLogger (__name__ )
1111
@@ -22,9 +22,15 @@ async def stop(self):
2222 for task in self .tasks :
2323 task .cancel ()
2424 try :
25+ logger .debug (f"[AioCore]{ task .get_name ()} start cancel" )
2526 await task
2627 except asyncio .CancelledError :
27- logger .info (f"{ task .get_name ()} has canceled" )
28+ logger .info (f"[AioCore]{ task .get_name ()} has canceled" )
29+ except Exception as e :
30+ logger .debug (f"[AioCore] other Exception { e } " )
31+
32+ # logger.info(f"[AioCore]{self.tasks}")
33+ self .tasks .clear ()
2834
2935
3036class AsyncRenamer (AsyncProgram ):
@@ -34,15 +40,18 @@ def __init__(self):
3440
3541 async def run (self ):
3642 await self .stop ()
37- task = asyncio .create_task (self .rename_task_loop (),name = "renamer_loop" )
43+ task = asyncio .create_task (
44+ self .rename_task_loop (),
45+ name = "renamer_loop" ,
46+ )
3847 self .tasks .append (task )
3948
4049 async def rename_task (self ):
41- renamer = Renamer ()
42- task = asyncio . create_task ( renamer . rename () )
43- self . tasks . append ( task )
44- await task
45- self . tasks . remove ( task )
50+ try :
51+ renamer = Renamer ( )
52+ await renamer . rename ( )
53+ except TimeoutError :
54+ logging . error ( "[Renamer Task] can not connect to downloader" )
4655
4756 async def rename_task_loop (self ):
4857 while True :
@@ -59,22 +68,25 @@ def __init__(self) -> None:
5968
6069 async def run (self ):
6170 await self .stop ()
62- task = asyncio .create_task (self .rss_task_loop (),name = "rss_loop"
63- )
71+ task = asyncio .create_task (
72+ self .rss_task_loop (),
73+ name = "rss_loop" ,
74+ )
6475 self .tasks .append (task )
6576
77+ async def rss_task (self ):
78+ rss_engine = RSSEngine ()
79+ await rss_engine .refresh_all_rss ()
80+ if settings .bangumi_manage .eps_complete :
81+ await eps_complete ()
82+
6683 async def rss_task_loop (self ):
6784 while True :
6885 task = asyncio .create_task (self .rss_task ())
6986 self .tasks .append (task )
7087 await asyncio .sleep (settings .program .rss_time )
7188 self .tasks .remove (task )
7289
73- async def rss_task (self ):
74- rss_engine = RSSEngine ()
75- await rss_engine .refresh_all_rss ()
76- if settings .bangumi_manage .eps_complete :
77- await eps_complete ()
7890
7991class AsyncDownload (AsyncProgram ):
8092 def __init__ (self ) -> None :
@@ -83,31 +95,37 @@ def __init__(self) -> None:
8395
8496 async def run (self ):
8597 await self .stop ()
86- task = asyncio .create_task (self .download_task_loop (),name = "download_loop" )
98+ task = asyncio .create_task (self .download_task_loop (), name = "download_loop" )
8799 self .tasks .append (task )
88100
89101 async def download_task_loop (self ):
90102 while True :
91103 await self .download_task ()
92104
93105 async def download_task (self ):
94- downloader = AsyncDownloadController ()
95- await downloader .download ()
106+ try :
107+ downloader = AsyncDownloadController ()
108+ await downloader .download ()
109+ except TimeoutError :
110+ logging .error ("[Renamer Task] can not connect to downloader" )
111+
96112
97113if __name__ == "__main__" :
98114 import asyncio
99115
100116 from module .conf import setup_logger
101117
102- logger = logging .getLogger (__name__ )
103- logger .setLevel (logging .DEBUG )
104- logging .basicConfig (
105- level = logging .INFO ,
106- format = "%(asctime)s - %(name)s - %(levelname)s - %(message)s" ,
107- handlers = [logging .StreamHandler ()],
108- )
109-
110- settings .log .debug_enable = True
111- setup_logger ()
112-
113- asyncio .run (AsyncRenamer ().rename_task_loop ())
118+ if settings .bangumi_manage .eps_complete :
119+ print (1 )
120+ # logger = logging.getLogger(__name__)
121+ # logger.setLevel(logging.DEBUG)
122+ # logging.basicConfig(
123+ # level=logging.INFO,
124+ # format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
125+ # handlers=[logging.StreamHandler()],
126+ # )
127+ #
128+ # settings.log.debug_enable = True
129+ # setup_logger()
130+ #
131+ # asyncio.run(AsyncRenamer().rename_task_loop())
0 commit comments