add to queue one instead of bulk

This commit is contained in:
Simon
2025-01-03 22:28:51 +07:00
parent 1fa8ab65c9
commit 8da027f320

View File

@@ -4,7 +4,6 @@ Functionality:
- linked with ta_dowload index - linked with ta_dowload index
""" """
import json
from datetime import datetime from datetime import datetime
from time import sleep from time import sleep
@@ -242,7 +241,6 @@ class PendingList(PendingIndex):
def add_to_pending(self, status="pending", auto_start=False): def add_to_pending(self, status="pending", auto_start=False):
"""add missing videos to pending list""" """add missing videos to pending list"""
self.get_channels() self.get_channels()
bulk_list = []
total = len(self.missing_videos) total = len(self.missing_videos)
videos_added = [] videos_added = []
@@ -263,34 +261,17 @@ class PendingList(PendingIndex):
} }
) )
action = {"create": {"_id": youtube_id, "_index": "ta_download"}}
bulk_list.append(json.dumps(action))
bulk_list.append(json.dumps(video_details))
url = video_details["vid_thumb_url"] url = video_details["vid_thumb_url"]
ThumbManager(youtube_id).download_video_thumb(url) ThumbManager(youtube_id).download_video_thumb(url)
es_url = f"ta_download/_doc/{youtube_id}"
_, _ = ElasticWrap(es_url).put(video_details)
videos_added.append(youtube_id) videos_added.append(youtube_id)
if len(bulk_list) >= 20: if len(videos_added) != total:
self._ingest_bulk(bulk_list) sleep(get_sleep(self.config))
bulk_list = []
sleep(get_sleep(self.config))
self._ingest_bulk(bulk_list)
return videos_added return videos_added
def _ingest_bulk(self, bulk_list):
"""add items to queue in bulk"""
if not bulk_list:
return
# add last newline
bulk_list.append("\n")
query_str = "\n".join(bulk_list)
_, _ = ElasticWrap("_bulk?refresh=true").post(query_str, ndjson=True)
def _notify_add(self, idx, total): def _notify_add(self, idx, total):
"""send notification for adding videos to download queue""" """send notification for adding videos to download queue"""
if not self.task: if not self.task: