aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-12-30 14:16:01 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-12-30 14:16:01 -0500
commit5e6354854d716b30d106aa09d39736cef8d5e165 (patch)
treeb51d322b99126fd2cebe6da8421c2b1dcfa65d3c /MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs
parent8d10ee581cf34219f675092b753f4f0c0d5932a0 (diff)
implement sync item removals
Diffstat (limited to 'MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs10
1 files changed, 4 insertions, 6 deletions
diff --git a/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs b/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs
index 6f3e926c0..44e95f07d 100644
--- a/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs
+++ b/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs
@@ -62,7 +62,7 @@ namespace MediaBrowser.Server.Implementations.Sync
// Respect ItemLimit, if set
if (job.ItemLimit.HasValue)
{
- if (jobItems.Count >= job.ItemLimit.Value)
+ if (jobItems.Count(j => j.Status != SyncJobItemStatus.RemovedFromDevice && j.Status != SyncJobItemStatus.Failed) >= job.ItemLimit.Value)
{
break;
}
@@ -310,9 +310,10 @@ namespace MediaBrowser.Server.Implementations.Sync
{
await EnsureSyncJobs(cancellationToken).ConfigureAwait(false);
+ // If it already has a converting status then is must have been aborted during conversion
var result = _syncRepo.GetJobItems(new SyncJobItemQuery
{
- Status = SyncJobItemStatus.Queued
+ Statuses = new List<SyncJobItemStatus> { SyncJobItemStatus.Queued, SyncJobItemStatus.Converting }
});
var jobItems = result.Items;
@@ -327,10 +328,7 @@ namespace MediaBrowser.Server.Implementations.Sync
cancellationToken.ThrowIfCancellationRequested();
- if (item.Status == SyncJobItemStatus.Queued)
- {
- await ProcessJobItem(item, cancellationToken).ConfigureAwait(false);
- }
+ await ProcessJobItem(item, cancellationToken).ConfigureAwait(false);
var job = _syncRepo.GetJob(item.JobId);
await UpdateJobStatus(job).ConfigureAwait(false);