瀏覽代碼

add sync error handling

Luke Pulverenti 8 年之前
父節點
當前提交
5e4bf3c36f

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

@@ -515,8 +515,14 @@ namespace Emby.Server.Implementations.Sync
 
 
             jobItem.Progress = 0;
             jobItem.Progress = 0;
 
 
-            var syncOptions = _config.GetSyncOptions();
             var job = _syncManager.GetJob(jobItem.JobId);
             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);
             var user = _userManager.GetUserById(job.UserId);
             if (user == null)
             if (user == null)
             {
             {
@@ -552,6 +558,8 @@ namespace Emby.Server.Implementations.Sync
                 }
                 }
             }
             }
 
 
+            var syncOptions = _config.GetSyncOptions();
+
             var video = item as Video;
             var video = item as Video;
             if (video != null)
             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);
             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.Status = SyncJobItemStatus.Cancelled;
 
 
             jobItem.Progress = 0;
             jobItem.Progress = 0;