浏览代码

[mob] Clean up stale upload files inside uploader

Neeraj Gupta 1 年之前
父节点
当前提交
220e80e467
共有 2 个文件被更改,包括 8 次插入1 次删除
  1. 2 1
      mobile/lib/core/configuration.dart
  2. 6 0
      mobile/lib/utils/file_uploader.dart

+ 2 - 1
mobile/lib/core/configuration.dart

@@ -155,7 +155,8 @@ class Configuration {
         }
         await _preferences.setInt(lastTempFolderClearTimeKey, currentTime);
         _logger.info(
-            "Cleared temp folder except $skippedTempUploadFiles upload files");
+          "Cleared temp folder except $skippedTempUploadFiles upload files",
+        );
       } else {
         _logger.info("Skipping temp folder clear");
       }

+ 6 - 0
mobile/lib/utils/file_uploader.dart

@@ -52,6 +52,7 @@ class FileUploader {
   static const kBlockedUploadsPollFrequency = Duration(seconds: 2);
   static const kFileUploadTimeout = Duration(minutes: 50);
   static const k20MBStorageBuffer = 20 * 1024 * 1024;
+  static const _lastStaleFileCleanupTime = "lastStaleFileCleanupTime";
 
   final _logger = Logger("FileUploader");
   final _dio = NetworkClient.instance.getDio();
@@ -121,6 +122,11 @@ class FileUploader {
       UploadLocksDB.instance,
       flagService,
     );
+    if (currentTime - (_prefs.getInt(_lastStaleFileCleanupTime) ?? 0) >
+        tempDirCleanUpInterval) {
+      await removeStaleFiles();
+      await _prefs.setInt(_lastStaleFileCleanupTime, currentTime);
+    }
     Bus.instance.on<LocalPhotosUpdatedEvent>().listen((event) {
       if (event.type == EventType.deletedFromDevice ||
           event.type == EventType.deletedFromEverywhere) {