mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-06-03 06:18:28 +01:00
fix repeated guide refreshes
This commit is contained in:
@@ -2475,7 +2475,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv
|
||||
return await _libraryManager.GetNamedView(name, CollectionType.LiveTv, name, cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
public async Task<TunerHostInfo> SaveTunerHost(TunerHostInfo info)
|
||||
public async Task<TunerHostInfo> SaveTunerHost(TunerHostInfo info, bool dataSourceChanged = true)
|
||||
{
|
||||
info = (TunerHostInfo)_jsonSerializer.DeserializeFromString(_jsonSerializer.SerializeToString(info), typeof(TunerHostInfo));
|
||||
|
||||
@@ -2508,7 +2508,10 @@ namespace MediaBrowser.Server.Implementations.LiveTv
|
||||
|
||||
_config.SaveConfiguration("livetv", config);
|
||||
|
||||
_taskManager.CancelIfRunningAndQueue<RefreshChannelsScheduledTask>();
|
||||
if (dataSourceChanged)
|
||||
{
|
||||
_taskManager.CancelIfRunningAndQueue<RefreshChannelsScheduledTask>();
|
||||
}
|
||||
|
||||
return info;
|
||||
}
|
||||
|
||||
@@ -111,7 +111,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp
|
||||
M3UUrl = info.M3UUrl,
|
||||
IsEnabled = true
|
||||
|
||||
}).ConfigureAwait(false);
|
||||
}, true).ConfigureAwait(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -120,7 +120,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp
|
||||
existing.M3UUrl = info.M3UUrl;
|
||||
existing.FriendlyName = info.FriendlyName;
|
||||
existing.Tuners = info.Tuners;
|
||||
await _liveTvManager.SaveTunerHost(existing).ConfigureAwait(false);
|
||||
await _liveTvManager.SaveTunerHost(existing, false).ConfigureAwait(false);
|
||||
}
|
||||
}
|
||||
catch (OperationCanceledException)
|
||||
|
||||
@@ -618,6 +618,8 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||
{
|
||||
var result = new Dictionary<string, SyncedItemProgress>();
|
||||
|
||||
var now = DateTime.UtcNow;
|
||||
|
||||
using (var connection = CreateConnection(true).Result)
|
||||
{
|
||||
using (var cmd = connection.CreateCommand())
|
||||
@@ -648,10 +650,12 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||
.Replace("select ItemId,Status,Progress from SyncJobItems", "select ItemIds,Status,Progress from SyncJobs")
|
||||
.Replace("'Synced'", "'Completed','CompletedWithError'");
|
||||
|
||||
Logger.Debug(cmd.CommandText);
|
||||
//Logger.Debug(cmd.CommandText);
|
||||
|
||||
using (var reader = cmd.ExecuteReader(CommandBehavior.SequentialAccess))
|
||||
{
|
||||
LogQueryTime("GetSyncedItemProgresses", cmd, now);
|
||||
|
||||
while (reader.Read())
|
||||
{
|
||||
AddStatusResult(reader, result, false);
|
||||
@@ -671,6 +675,32 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||
return result;
|
||||
}
|
||||
|
||||
private void LogQueryTime(string methodName, IDbCommand cmd, DateTime startDate)
|
||||
{
|
||||
var elapsed = (DateTime.UtcNow - startDate).TotalMilliseconds;
|
||||
|
||||
var slowThreshold = 1000;
|
||||
|
||||
#if DEBUG
|
||||
slowThreshold = 50;
|
||||
#endif
|
||||
|
||||
if (elapsed >= slowThreshold)
|
||||
{
|
||||
Logger.Debug("{2} query time (slow): {0}ms. Query: {1}",
|
||||
Convert.ToInt32(elapsed),
|
||||
cmd.CommandText,
|
||||
methodName);
|
||||
}
|
||||
else
|
||||
{
|
||||
//Logger.Debug("{2} query time: {0}ms. Query: {1}",
|
||||
// Convert.ToInt32(elapsed),
|
||||
// cmd.CommandText,
|
||||
// methodName);
|
||||
}
|
||||
}
|
||||
|
||||
private void AddStatusResult(IDataReader reader, Dictionary<string, SyncedItemProgress> result, bool multipleIds)
|
||||
{
|
||||
if (reader.IsDBNull(0))
|
||||
|
||||
Reference in New Issue
Block a user