consolidate rand_sleep

This commit is contained in:
Simon 2025-01-11 14:18:55 +07:00
parent 73396da7f6
commit 2474a6a96b
5 changed files with 16 additions and 22 deletions

View File

@ -7,14 +7,13 @@ functionality:
import json import json
import os import os
from datetime import datetime from datetime import datetime
from time import sleep
from typing import Callable, TypedDict from typing import Callable, TypedDict
from appsettings.src.config import AppConfig from appsettings.src.config import AppConfig
from channel.src.index import YoutubeChannel from channel.src.index import YoutubeChannel
from common.src.env_settings import EnvironmentSettings from common.src.env_settings import EnvironmentSettings
from common.src.es_connect import ElasticWrap, IndexPaginate from common.src.es_connect import ElasticWrap, IndexPaginate
from common.src.helper import get_sleep from common.src.helper import rand_sleep
from common.src.ta_redis import RedisQueue from common.src.ta_redis import RedisQueue
from download.src.subscriptions import ChannelSubscription from download.src.subscriptions import ChannelSubscription
from download.src.thumbnails import ThumbManager from download.src.thumbnails import ThumbManager
@ -290,7 +289,7 @@ class Reindex(ReindexBase):
self._notify(name, total, idx) self._notify(name, total, idx)
reindex(youtube_id) reindex(youtube_id)
sleep(get_sleep(self.config)) rand_sleep(self.config)
def _get_reindex_map(self, index_name: str) -> Callable: def _get_reindex_map(self, index_name: str) -> Callable:
"""return def to run for index""" """return def to run for index"""

View File

@ -9,6 +9,7 @@ import random
import string import string
import subprocess import subprocess
from datetime import datetime from datetime import datetime
from time import sleep
from typing import Any from typing import Any
from urllib.parse import urlparse from urllib.parse import urlparse
@ -40,16 +41,14 @@ def randomizor(length: int) -> str:
return "".join(random.choice(pool) for i in range(length)) return "".join(random.choice(pool) for i in range(length))
def get_sleep(config) -> int: def rand_sleep(config) -> None:
"""get randomized sleep""" """randomized sleep based on config"""
sleep_config = config["downloads"].get("sleep_interval") sleep_config = config["downloads"].get("sleep_interval")
if not sleep_config: if not sleep_config:
return 0 return
rand_sleep = random.randrange( secs = random.randrange(int(sleep_config * 0.5), int(sleep_config * 1.5))
int(sleep_config * 0.5), int(sleep_config * 1.5) sleep(secs)
)
return rand_sleep
def requests_headers() -> dict[str, str]: def requests_headers() -> dict[str, str]:

View File

@ -5,11 +5,10 @@ Functionality:
""" """
from datetime import datetime from datetime import datetime
from time import sleep
from appsettings.src.config import AppConfig from appsettings.src.config import AppConfig
from common.src.es_connect import ElasticWrap, IndexPaginate from common.src.es_connect import ElasticWrap, IndexPaginate
from common.src.helper import get_duration_str, get_sleep, is_shorts from common.src.helper import get_duration_str, is_shorts, rand_sleep
from download.src.subscriptions import ChannelSubscription from download.src.subscriptions import ChannelSubscription
from download.src.thumbnails import ThumbManager from download.src.thumbnails import ThumbManager
from download.src.yt_dlp_base import YtWrap from download.src.yt_dlp_base import YtWrap
@ -267,8 +266,8 @@ class PendingList(PendingIndex):
_, _ = ElasticWrap(es_url).put(video_details) _, _ = ElasticWrap(es_url).put(video_details)
videos_added.append(youtube_id) videos_added.append(youtube_id)
if len(videos_added) != total: if idx != total:
sleep(get_sleep(self.config)) rand_sleep(self.config)
return videos_added return videos_added

View File

@ -4,12 +4,10 @@ Functionality:
- handle playlist subscriptions - handle playlist subscriptions
""" """
from time import sleep
from appsettings.src.config import AppConfig from appsettings.src.config import AppConfig
from channel.src.index import YoutubeChannel from channel.src.index import YoutubeChannel
from common.src.es_connect import IndexPaginate from common.src.es_connect import IndexPaginate
from common.src.helper import get_sleep, is_missing from common.src.helper import is_missing, rand_sleep
from common.src.urlparser import Parser from common.src.urlparser import Parser
from download.src.thumbnails import ThumbManager from download.src.thumbnails import ThumbManager
from download.src.yt_dlp_base import YtWrap from download.src.yt_dlp_base import YtWrap
@ -110,7 +108,7 @@ class ChannelSubscription:
message_lines=[f"Scanning Channel {idx + 1}/{total}"], message_lines=[f"Scanning Channel {idx + 1}/{total}"],
progress=(idx + 1) / total, progress=(idx + 1) / total,
) )
sleep(get_sleep(self.config)) rand_sleep(self.config)
return missing_videos return missing_videos
@ -323,7 +321,7 @@ class PlaylistSubscription:
message_lines=[f"Scanning Playlists {idx + 1}/{total}"], message_lines=[f"Scanning Playlists {idx + 1}/{total}"],
progress=(idx + 1) / total, progress=(idx + 1) / total,
) )
sleep(get_sleep(self.config)) rand_sleep(self.config)
return missing_videos return missing_videos

View File

@ -6,11 +6,10 @@ Functionality:
""" """
from datetime import datetime from datetime import datetime
from time import sleep
from appsettings.src.config import AppConfig from appsettings.src.config import AppConfig
from common.src.es_connect import ElasticWrap from common.src.es_connect import ElasticWrap
from common.src.helper import get_sleep from common.src.helper import rand_sleep
from common.src.ta_redis import RedisQueue from common.src.ta_redis import RedisQueue
from download.src.yt_dlp_base import YtWrap from download.src.yt_dlp_base import YtWrap
@ -221,7 +220,7 @@ class CommentList:
if comment.json_data: if comment.json_data:
comment.upload_comments() comment.upload_comments()
sleep(get_sleep(self.config)) rand_sleep(self.config)
def notify(self, idx, total_videos): def notify(self, idx, total_videos):
"""send notification on task""" """send notification on task"""