update realtime monitor
This commit is contained in:
parent
89ba154522
commit
ffb68b0318
|
@ -87,8 +87,9 @@ namespace Emby.Server.Implementations.HttpServer.SocketSharp
|
|||
|
||||
private void ProcessContext(HttpListenerContext context)
|
||||
{
|
||||
//Task.Factory.StartNew(() => InitTask(context), TaskCreationOptions.DenyChildAttach | TaskCreationOptions.PreferFairness);
|
||||
Task.Run(() => InitTask(context, _disposeCancellationToken));
|
||||
_logger.Info("thread id {0}", Thread.CurrentThread.ManagedThreadId);
|
||||
InitTask(context, _disposeCancellationToken);
|
||||
//Task.Run(() => InitTask(context, _disposeCancellationToken));
|
||||
}
|
||||
|
||||
private Task InitTask(HttpListenerContext context, CancellationToken cancellationToken)
|
||||
|
|
|
@ -180,7 +180,7 @@ namespace Emby.Server.Implementations.IO
|
|||
|
||||
try
|
||||
{
|
||||
await item.ChangedExternally().ConfigureAwait(false);
|
||||
item.ChangedExternally();
|
||||
}
|
||||
catch (IOException ex)
|
||||
{
|
||||
|
@ -282,11 +282,11 @@ namespace Emby.Server.Implementations.IO
|
|||
return false;
|
||||
}
|
||||
}
|
||||
//catch (DirectoryNotFoundException)
|
||||
//{
|
||||
// // File may have been deleted
|
||||
// return false;
|
||||
//}
|
||||
catch (DirectoryNotFoundException)
|
||||
{
|
||||
// File may have been deleted
|
||||
return false;
|
||||
}
|
||||
catch (FileNotFoundException)
|
||||
{
|
||||
// File may have been deleted
|
||||
|
|
|
@ -66,19 +66,19 @@ namespace Emby.Server.Implementations.Session
|
|||
return SendMessage(name, new Dictionary<string, string>(), cancellationToken);
|
||||
}
|
||||
|
||||
private async Task SendMessage(string name,
|
||||
private Task SendMessage(string name,
|
||||
Dictionary<string, string> args,
|
||||
CancellationToken cancellationToken)
|
||||
{
|
||||
var url = PostUrl + "/" + name + ToQueryString(args);
|
||||
|
||||
await _httpClient.Post(new HttpRequestOptions
|
||||
return _httpClient.Post(new HttpRequestOptions
|
||||
{
|
||||
Url = url,
|
||||
CancellationToken = cancellationToken,
|
||||
BufferContent = false
|
||||
|
||||
}).ConfigureAwait(false);
|
||||
});
|
||||
}
|
||||
|
||||
public Task SendSessionEndedNotification(SessionInfoDto sessionInfo, CancellationToken cancellationToken)
|
||||
|
@ -159,8 +159,24 @@ namespace Emby.Server.Implementations.Session
|
|||
|
||||
public Task SendMessage<T>(string name, T data, CancellationToken cancellationToken)
|
||||
{
|
||||
// Not supported or needed right now
|
||||
return Task.FromResult(true);
|
||||
var url = PostUrl + "/" + name;
|
||||
|
||||
var options = new HttpRequestOptions
|
||||
{
|
||||
Url = url,
|
||||
CancellationToken = cancellationToken,
|
||||
BufferContent = false
|
||||
};
|
||||
|
||||
options.RequestContent = _json.SerializeToString(data);
|
||||
options.RequestContentType = "application/json";
|
||||
|
||||
return _httpClient.Post(new HttpRequestOptions
|
||||
{
|
||||
Url = url,
|
||||
CancellationToken = cancellationToken,
|
||||
BufferContent = false
|
||||
});
|
||||
}
|
||||
|
||||
private string ToQueryString(Dictionary<string, string> nvc)
|
||||
|
|
|
@ -1854,10 +1854,13 @@ namespace MediaBrowser.Controller.Entities
|
|||
/// Do whatever refreshing is necessary when the filesystem pertaining to this item has changed.
|
||||
/// </summary>
|
||||
/// <returns>Task.</returns>
|
||||
public virtual Task ChangedExternally()
|
||||
public virtual void ChangedExternally()
|
||||
{
|
||||
ProviderManager.QueueRefresh(Id, new MetadataRefreshOptions(FileSystem), RefreshPriority.High);
|
||||
return Task.FromResult(true);
|
||||
ProviderManager.QueueRefresh(Id, new MetadataRefreshOptions(FileSystem)
|
||||
{
|
||||
ValidateChildren = true,
|
||||
|
||||
}, RefreshPriority.High);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -1325,19 +1325,6 @@ namespace MediaBrowser.Controller.Entities
|
|||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Folders need to validate and refresh
|
||||
/// </summary>
|
||||
/// <returns>Task.</returns>
|
||||
public override async Task ChangedExternally()
|
||||
{
|
||||
var progress = new Progress<double>();
|
||||
|
||||
await ValidateChildren(progress, CancellationToken.None).ConfigureAwait(false);
|
||||
|
||||
await base.ChangedExternally().ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Marks the played.
|
||||
/// </summary>
|
||||
|
|
|
@ -15,6 +15,7 @@ namespace MediaBrowser.Controller.Providers
|
|||
public bool ReplaceAllMetadata { get; set; }
|
||||
|
||||
public bool IsPostRecursiveRefresh { get; set; }
|
||||
public bool ValidateChildren { get; set; }
|
||||
|
||||
public MetadataRefreshMode MetadataRefreshMode { get; set; }
|
||||
public RemoteSearchResult SearchResult { get; set; }
|
||||
|
|
|
@ -872,7 +872,7 @@ namespace MediaBrowser.Providers.Manager
|
|||
if (!_isProcessingRefreshQueue)
|
||||
{
|
||||
_isProcessingRefreshQueue = true;
|
||||
Task.Run(() => StartProcessingRefreshQueue());
|
||||
Task.Run(StartProcessingRefreshQueue);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -897,6 +897,15 @@ namespace MediaBrowser.Providers.Manager
|
|||
// Try to throttle this a little bit.
|
||||
await Task.Delay(100).ConfigureAwait(false);
|
||||
|
||||
if (refreshItem.Item2.ValidateChildren)
|
||||
{
|
||||
var folder = item as Folder;
|
||||
if (folder != null)
|
||||
{
|
||||
await folder.ValidateChildren(new Progress<double>(), CancellationToken.None).ConfigureAwait(false);
|
||||
}
|
||||
}
|
||||
|
||||
var artist = item as MusicArtist;
|
||||
var task = artist == null
|
||||
? RefreshItem(item, refreshItem.Item2, CancellationToken.None)
|
||||
|
|
|
@ -163,7 +163,7 @@ namespace MediaBrowser.Providers.Subtitles
|
|||
Provider = provider.Name
|
||||
|
||||
}, _logger);
|
||||
|
||||
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
@ -256,7 +256,8 @@ namespace MediaBrowser.Providers.Subtitles
|
|||
_monitor.ReportFileSystemChangeComplete(path, false);
|
||||
}
|
||||
|
||||
return _libraryManager.GetItemById(itemId).ChangedExternally();
|
||||
_libraryManager.GetItemById(itemId).ChangedExternally();
|
||||
return Task.FromResult(true);
|
||||
}
|
||||
|
||||
public Task<SubtitleResponse> GetRemoteSubtitles(string id, CancellationToken cancellationToken)
|
||||
|
|
Loading…
Reference in New Issue
Block a user