fix scheduled task crash

This commit is contained in:
Luke Pulverenti
2015-09-03 21:34:57 -04:00
parent cfd3248af7
commit 0b2c5fe6f4
3 changed files with 36 additions and 11 deletions

View File

@@ -618,6 +618,11 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
_logger.ErrorException("Error recording", ex);
recording.Status = RecordingStatus.Error;
}
finally
{
CancellationTokenSource removed;
_activeRecordings.TryRemove(timer.Id, out removed);
}
recording.DateLastUpdated = DateTime.UtcNow;
_recordingProvider.Update(recording);
@@ -627,15 +632,17 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
OnSuccessfulRecording(recording);
_timerProvider.Delete(timer);
}
else if (DateTime.UtcNow < timer.EndDate)
{
const int retryIntervalSeconds = 60;
_logger.Info("Retrying recording in {0} seconds.", retryIntervalSeconds);
_timerProvider.StartTimer(timer, TimeSpan.FromSeconds(retryIntervalSeconds));
}
else
{
if (DateTime.UtcNow < timer.EndDate)
{
const int retryIntervalSeconds = 60;
_logger.Info("Retrying recording in {0} seconds.", retryIntervalSeconds);
_timerProvider.StartTimer(timer, TimeSpan.FromSeconds(retryIntervalSeconds));
}
_timerProvider.Delete(timer);
_recordingProvider.Delete(recording);
}
}