Skip to content

Commit

Permalink
Ensure that the threads number is always non-negative
Browse files Browse the repository at this point in the history
  • Loading branch information
Marishka17 committed May 24, 2024
1 parent b0efba5 commit 0e71a05
Showing 1 changed file with 20 additions and 4 deletions.
24 changes: 20 additions & 4 deletions cvat/apps/engine/cloud_provider.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,27 @@ def filename(self, value: str) -> None:

CPU_NUMBER = get_cpu_number()

def normalize_threads_number(threads_number: Optional[int], number_of_files: int) -> int:
if threads_number is None:
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))
def normalize_threads_number(
threads_number: Optional[int], number_of_files: int
) -> int:
threads_number = (
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
),
)
if threads_number is None
else min(
threads_number,
CPU_NUMBER,
settings.CVAT_MAX_THREADS_NUMBER_FOR_DATA_DOWNLOADING,
)
)
threads_number = max(threads_number, 1)

return min(threads_number, CPU_NUMBER, settings.CVAT_MAX_THREADS_NUMBER_FOR_DATA_DOWNLOADING)
return threads_number

class Status(str, Enum):
AVAILABLE = 'AVAILABLE'
Expand Down

0 comments on commit 0e71a05

Please sign in to comment.