up
This commit is contained in:
parent
04e8768342
commit
2beb6ccd97
@ -39,7 +39,10 @@ class MasterService:
|
|||||||
async def create_workers(self):
|
async def create_workers(self):
|
||||||
while True:
|
while True:
|
||||||
video_params = await self.queue.get()
|
video_params = await self.queue.get()
|
||||||
|
#TODO: позднее написать функцию для определения парсера автоматически
|
||||||
redis = RedisClient()
|
redis = RedisClient()
|
||||||
|
# TODO: проверить что в редисе задача либо уже выполнена, т.е. сразу отдать ссылку, либо что она ранее была закончена с ошибкой
|
||||||
|
# и проверять словарь self.currently_underway, для надёжности
|
||||||
await redis.del_task_from_queue_and_add_to_tasks(task=video_params)
|
await redis.del_task_from_queue_and_add_to_tasks(task=video_params)
|
||||||
self.currently_underway[video_params['link']] = video_params
|
self.currently_underway[video_params['link']] = video_params
|
||||||
download_task = self.loop.run_in_executor(self.executor, partial(
|
download_task = self.loop.run_in_executor(self.executor, partial(
|
||||||
@ -50,6 +53,11 @@ class MasterService:
|
|||||||
result = await download_task
|
result = await download_task
|
||||||
await redis.del_task_from_tasks_and_add_to_task_done(task={"link": video_params["link"], "result": result})
|
await redis.del_task_from_tasks_and_add_to_task_done(task={"link": video_params["link"], "result": result})
|
||||||
# TODO process result
|
# TODO process result
|
||||||
|
'''
|
||||||
|
Result.Done \ Result.Exist - уведомить что задача выполнена, и отослать во вторую очередь сообщений RabbitMQ сообщение об этом
|
||||||
|
Result.Error - в таблице Редиса для выполненых задач, пометить, что это ошибка и уведомить об этом по второй очереди сообщений
|
||||||
|
и потом почистить self.currently_underway
|
||||||
|
'''
|
||||||
self.queue.task_done()
|
self.queue.task_done()
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
|
@ -14,6 +14,7 @@ class MyMailParser(BaseParser):
|
|||||||
BASE_DIR = os.path.abspath(f"downloads/MyMailRu")
|
BASE_DIR = os.path.abspath(f"downloads/MyMailRu")
|
||||||
|
|
||||||
def get_video_link(self, playwright: Playwright):
|
def get_video_link(self, playwright: Playwright):
|
||||||
|
# TODO: проверить качество видео
|
||||||
browser = playwright.chromium.launch(headless=True)
|
browser = playwright.chromium.launch(headless=True)
|
||||||
context = browser.new_context()
|
context = browser.new_context()
|
||||||
page = context.new_page()
|
page = context.new_page()
|
||||||
|
@ -45,3 +45,7 @@ class BaseParser:
|
|||||||
except OSError as exception:
|
except OSError as exception:
|
||||||
if exception.errno != errno.EEXIST:
|
if exception.errno != errno.EEXIST:
|
||||||
raise
|
raise
|
||||||
|
|
||||||
|
'''
|
||||||
|
TODO: скорее всего добавить процедуру для конвертации итогого файла через ffmpeg, используя
|
||||||
|
'''
|
||||||
|
Loading…
Reference in New Issue
Block a user