Преглед на файлове

add sync error handling

Luke Pulverenti преди 8 години
родител
ревизия
5e4bf3c36f
променени са 2 файла, в които са добавени 9 реда и са изтрити 6 реда
  1. 9 1
      Emby.Server.Implementations/Sync/SyncJobProcessor.cs
  2. 0 5
      Emby.Server.Implementations/Sync/SyncManager.cs

+ 9 - 1
Emby.Server.Implementations/Sync/SyncJobProcessor.cs

@@ -515,8 +515,14 @@ namespace Emby.Server.Implementations.Sync
 
             jobItem.Progress = 0;
 
-            var syncOptions = _config.GetSyncOptions();
             var job = _syncManager.GetJob(jobItem.JobId);
+            if (job == null)
+            {
+                _logger.Error("Job not found. Cannot complete the sync job.");
+                await _syncManager.CancelJobItem(jobItem.Id).ConfigureAwait(false);
+                return;
+            }
+
             var user = _userManager.GetUserById(job.UserId);
             if (user == null)
             {
@@ -552,6 +558,8 @@ namespace Emby.Server.Implementations.Sync
                 }
             }
 
+            var syncOptions = _config.GetSyncOptions();
+
             var video = item as Video;
             if (video != null)
             {

+ 0 - 5
Emby.Server.Implementations/Sync/SyncManager.cs

@@ -1049,11 +1049,6 @@ namespace Emby.Server.Implementations.Sync
         {
             var jobItem = _repo.GetJobItem(id);
 
-            if (jobItem.Status != SyncJobItemStatus.Queued && jobItem.Status != SyncJobItemStatus.ReadyToTransfer && jobItem.Status != SyncJobItemStatus.Converting && jobItem.Status != SyncJobItemStatus.Failed && jobItem.Status != SyncJobItemStatus.Synced && jobItem.Status != SyncJobItemStatus.Transferring)
-            {
-                throw new ArgumentException("Operation is not valid for this job item");
-            }
-
             jobItem.Status = SyncJobItemStatus.Cancelled;
 
             jobItem.Progress = 0;