mirror of
				https://github.com/clearml/clearml
				synced 2025-06-26 18:16:07 +00:00 
			
		
		
		
	Add support for network.file_upload_retries configuration option to control the UploadManager's file upload default retries
				
					
				
			This commit is contained in:
		
							parent
							
								
									5b38590756
								
							
						
					
					
						commit
						3da182426f
					
				| @ -42,6 +42,9 @@ | ||||
|     } | ||||
| 
 | ||||
|     network { | ||||
|         # Number of retries before failing to upload file | ||||
|         file_upload_retries: 3 | ||||
| 
 | ||||
|         metrics { | ||||
|             # Number of threads allocated to uploading files (typically debug images) when transmitting metrics for | ||||
|             # a specific iteration | ||||
|  | ||||
| @ -9,13 +9,13 @@ from typing import List, Optional, Union | ||||
| from zipfile import ZipFile | ||||
| from six.moves.urllib.parse import urlparse | ||||
| 
 | ||||
| import requests | ||||
| from pathlib2 import Path | ||||
| 
 | ||||
| from .cache import CacheManager | ||||
| from .helper import StorageHelper | ||||
| from .util import encode_string_to_filename, safe_extract | ||||
| from ..debugging.log import LoggerRoot | ||||
| from ..config import deferred_config | ||||
| 
 | ||||
| 
 | ||||
| class StorageManager(object): | ||||
| @ -25,6 +25,8 @@ class StorageManager(object): | ||||
|     Cache is enabled by default for all downloaded remote urls/files | ||||
|     """ | ||||
| 
 | ||||
|     _file_upload_retries = deferred_config("network.file_upload_retries", 3) | ||||
| 
 | ||||
|     @classmethod | ||||
|     def get_local_copy( | ||||
|         cls, remote_url, cache_context=None, extract_archive=True, name=None, force_download=False | ||||
| @ -55,8 +57,8 @@ class StorageManager(object): | ||||
| 
 | ||||
|     @classmethod | ||||
|     def upload_file( | ||||
|         cls, local_file, remote_url, wait_for_upload=True, retries=3 | ||||
|     ):  # type: (str, str, bool, int) -> str | ||||
|         cls, local_file, remote_url, wait_for_upload=True, retries=None | ||||
|     ):  # type: (str, str, bool, Optional[int]) -> str | ||||
|         """ | ||||
|         Upload a local file to a remote location. remote url is the finale destination of the uploaded file. | ||||
| 
 | ||||
| @ -71,14 +73,14 @@ class StorageManager(object): | ||||
|         :param str local_file: Full path of a local file to be uploaded | ||||
|         :param str remote_url: Full path or remote url to upload to (including file name) | ||||
|         :param bool wait_for_upload: If False, return immediately and upload in the background. Default True. | ||||
|         :param int retries: Number of retries before failing to upload file, default 3. | ||||
|         :param int retries: Number of retries before failing to upload file. | ||||
|         :return: Newly uploaded remote URL. | ||||
|         """ | ||||
|         return CacheManager.get_cache_manager().upload_file( | ||||
|             local_file=local_file, | ||||
|             remote_url=remote_url, | ||||
|             wait_for_upload=wait_for_upload, | ||||
|             retries=retries, | ||||
|             retries=retries if retries else cls._file_upload_retries, | ||||
|         ) | ||||
| 
 | ||||
|     @classmethod | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 allegroai
						allegroai