From bce40ee341a98559fcfd5418715c37e49899a582 Mon Sep 17 00:00:00 2001 From: nikili0n Date: Thu, 21 Sep 2023 00:21:03 +0300 Subject: [PATCH] up --- src/core/master_service.py | 8 ++++++++ src/parsers/MyMail/my_mail_parser.py | 1 + src/parsers/base_parser.py | 4 ++++ 3 files changed, 13 insertions(+) diff --git a/src/core/master_service.py b/src/core/master_service.py index d76eedc..1119346 100644 --- a/src/core/master_service.py +++ b/src/core/master_service.py @@ -39,7 +39,10 @@ class MasterService: async def create_workers(self): while True: video_params = await self.queue.get() + #TODO: позднее написать функцию для определения парсера автоматически redis = RedisClient() + # TODO: проверить что в редисе задача либо уже выполнена, т.е. сразу отдать ссылку, либо что она ранее была закончена с ошибкой + # и проверять словарь self.currently_underway, для надёжности await redis.del_task_from_queue_and_add_to_tasks(task=video_params) self.currently_underway[video_params['link']] = video_params download_task = self.loop.run_in_executor(self.executor, partial( @@ -50,6 +53,11 @@ class MasterService: result = await download_task await redis.del_task_from_tasks_and_add_to_task_done(task={"link": video_params["link"], "result": result}) # TODO process result + ''' + Result.Done \ Result.Exist - уведомить что задача выполнена, и отослать во вторую очередь сообщений RabbitMQ сообщение об этом + Result.Error - в таблице Редиса для выполненых задач, пометить, что это ошибка и уведомить об этом по второй очереди сообщений + и потом почистить self.currently_underway + ''' self.queue.task_done() @staticmethod diff --git a/src/parsers/MyMail/my_mail_parser.py b/src/parsers/MyMail/my_mail_parser.py index 653ac8c..f86c5d0 100644 --- a/src/parsers/MyMail/my_mail_parser.py +++ b/src/parsers/MyMail/my_mail_parser.py @@ -14,6 +14,7 @@ class MyMailParser(BaseParser): BASE_DIR = os.path.abspath(f"downloads/MyMailRu") def get_video_link(self, playwright: Playwright): + # TODO: проверить качество видео browser = playwright.chromium.launch(headless=True) context = browser.new_context() page = context.new_page() diff --git a/src/parsers/base_parser.py b/src/parsers/base_parser.py index 9334f67..5b0d193 100644 --- a/src/parsers/base_parser.py +++ b/src/parsers/base_parser.py @@ -45,3 +45,7 @@ class BaseParser: except OSError as exception: if exception.errno != errno.EEXIST: raise + + ''' + TODO: скорее всего добавить процедуру для конвертации итогого файла через ffmpeg, используя + '''