소스 검색

Timeout file uploads after 50m

vishnukvmd 3 년 전
부모
커밋
8f542745d3
1개의 변경된 파일7개의 추가작업 그리고 1개의 파일을 삭제
  1. 7 1
      lib/utils/file_uploader.dart

+ 7 - 1
lib/utils/file_uploader.dart

@@ -35,6 +35,7 @@ class FileUploader {
   static const kMaximumThumbnailCompressionAttempts = 2;
   static const kMaximumUploadAttempts = 4;
   static const kBlockedUploadsPollFrequency = Duration(seconds: 2);
+  static const kFileUploadTimeout = Duration(minutes: 50);
 
   final _logger = Logger("FileUploader");
   final _dio = Network.instance.getDio();
@@ -326,7 +327,12 @@ class FileUploader {
           await _putFile(thumbnailUploadURL, encryptedThumbnailFile);
 
       final fileUploadURL = await _getUploadURL();
-      String fileObjectKey = await _putFile(fileUploadURL, encryptedFile);
+      String fileObjectKey = await _putFile(fileUploadURL, encryptedFile)
+          .timeout(kFileUploadTimeout, onTimeout: () async {
+        _logger.severe("Upload timed out for file of size " +
+            (await encryptedFile.length()).toString());
+        return;
+      });
 
       final metadata =
           await file.getMetadataForUpload(mediaUploadData.sourceFile);