Add max_threads

Signed-off-by: Luigi311 <git@luigi311.com>
pull/109/head
Luigi311 2023-09-28 10:00:07 -06:00
parent fb657d41db
commit 3a0e60c772
3 changed files with 9 additions and 4 deletions

View File

@ -18,6 +18,12 @@ SLEEP_DURATION = "3600"
## Log file where all output will be written to ## Log file where all output will be written to
LOGFILE = "log.log" LOGFILE = "log.log"
## Timeout for requests for jellyfin
REQUEST_TIMEOUT = 300
## Max threads for processing
MAX_THREADS = 32
## Map usernames between servers in the event that they are different, order does not matter ## Map usernames between servers in the event that they are different, order does not matter
## Comma separated for multiple options ## Comma separated for multiple options
#USER_MAPPING = { "testuser2": "testuser3", "testuser1":"testuser4" } #USER_MAPPING = { "testuser2": "testuser3", "testuser1":"testuser4" }

View File

@ -63,12 +63,11 @@ def search_mapping(dictionary: dict, key_value: str):
return None return None
def future_thread_executor(args: list, workers: int = -1): def future_thread_executor(args: list, threads: int = 32):
futures_list = [] futures_list = []
results = [] results = []
if workers == -1: workers = min(int(os.getenv("MAX_THREADS", 32)), os.cpu_count() * 2, threads)
workers = min(32, os.cpu_count() * 2)
with ThreadPoolExecutor(max_workers=workers) as executor: with ThreadPoolExecutor(max_workers=workers) as executor:
for arg in args: for arg in args:

View File

@ -174,7 +174,7 @@ def get_user_library_watched(user, user_plex, library):
args.append([get_user_library_watched_show, show]) args.append([get_user_library_watched_show, show])
for show_guids, episode_guids in future_thread_executor( for show_guids, episode_guids in future_thread_executor(
args, workers=min(os.cpu_count(), 4) args, threads=4
): ):
if show_guids and episode_guids: if show_guids and episode_guids:
# append show, season, episode # append show, season, episode