diff --git a/cvat/apps/engine/cloud_provider.py b/cvat/apps/engine/cloud_provider.py index 2c8ab6ac174..7be878b6424 100644 --- a/cvat/apps/engine/cloud_provider.py +++ b/cvat/apps/engine/cloud_provider.py @@ -38,14 +38,12 @@ ImageFile.LOAD_TRUNCATED_IMAGES = True CPU_NUMBER = get_cpu_number() -MAX_THREADS_NUMBER = 4 -NUMBER_OF_FILES_PER_THREAD = 1000 def normalize_threads_number(threads_number: Optional[int], number_of_files: int) -> int: if threads_number is None: - return min(CPU_NUMBER, MAX_THREADS_NUMBER, max(math.ceil(number_of_files / NUMBER_OF_FILES_PER_THREAD), 1)) + return min(CPU_NUMBER, settings.CVAT_MAX_THREADS_NUMBER_FOR_DATA_DOWNLOADING, max(math.ceil(number_of_files / settings.CVAT_NUMBER_OF_FILES_PER_THREAD), 1)) - return min(threads_number, CPU_NUMBER, MAX_THREADS_NUMBER) + return min(threads_number, CPU_NUMBER, settings.CVAT_MAX_THREADS_NUMBER_FOR_DATA_DOWNLOADING) class Status(str, Enum): AVAILABLE = 'AVAILABLE' diff --git a/cvat/settings/base.py b/cvat/settings/base.py index 9818a19cbf3..42669ae23b4 100644 --- a/cvat/settings/base.py +++ b/cvat/settings/base.py @@ -717,3 +717,6 @@ class CVAT_QUEUES(Enum): from cvat.rq_patching import update_started_job_registry_cleanup update_started_job_registry_cleanup() + +CVAT_MAX_THREADS_NUMBER_FOR_DATA_DOWNLOADING = 4 +CVAT_NUMBER_OF_FILES_PER_THREAD = 1000