mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-03-12 05:06:23 +00:00
added sync job database
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
using Amib.Threading;
|
||||
using Funq;
|
||||
using Funq;
|
||||
using MediaBrowser.Common;
|
||||
using MediaBrowser.Common.Extensions;
|
||||
using MediaBrowser.Common.Net;
|
||||
@@ -15,7 +14,6 @@ using ServiceStack.Host.HttpListener;
|
||||
using ServiceStack.Logging;
|
||||
using ServiceStack.Web;
|
||||
using System;
|
||||
using System.Collections.Concurrent;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
@@ -37,7 +35,6 @@ namespace MediaBrowser.Server.Implementations.HttpServer
|
||||
|
||||
private IHttpListener _listener;
|
||||
|
||||
private readonly SmartThreadPool _threadPoolManager;
|
||||
private const int IdleTimeout = 300;
|
||||
|
||||
private readonly ContainerAdapter _containerAdapter;
|
||||
@@ -62,9 +59,6 @@ namespace MediaBrowser.Server.Implementations.HttpServer
|
||||
_logger = logManager.GetLogger("HttpServer");
|
||||
|
||||
_containerAdapter = new ContainerAdapter(applicationHost);
|
||||
|
||||
_threadPoolManager = new SmartThreadPool(IdleTimeout,
|
||||
maxWorkerThreads: Math.Max(16, Environment.ProcessorCount * 2));
|
||||
}
|
||||
|
||||
public override void Configure(Container container)
|
||||
@@ -158,8 +152,8 @@ namespace MediaBrowser.Server.Implementations.HttpServer
|
||||
HostContext.Config.HandlerFactoryPath = ListenerRequest.GetHandlerPathIfAny(UrlPrefixes.First());
|
||||
|
||||
_listener = NativeWebSocket.IsSupported
|
||||
? _listener = new HttpListenerServer(_logger, _threadPoolManager)
|
||||
: _listener = new WebSocketSharpListener(_logger, _threadPoolManager);
|
||||
? _listener = new HttpListenerServer(_logger)
|
||||
: _listener = new WebSocketSharpListener(_logger);
|
||||
|
||||
_listener.WebSocketHandler = WebSocketHandler;
|
||||
_listener.ErrorHandler = ErrorHandler;
|
||||
@@ -356,8 +350,6 @@ namespace MediaBrowser.Server.Implementations.HttpServer
|
||||
|
||||
if (disposing)
|
||||
{
|
||||
_threadPoolManager.Dispose();
|
||||
|
||||
Stop();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
using System.Text;
|
||||
using Amib.Threading;
|
||||
using MediaBrowser.Common.Net;
|
||||
using MediaBrowser.Common.Net;
|
||||
using MediaBrowser.Model.Logging;
|
||||
using ServiceStack;
|
||||
using ServiceStack.Host.HttpListener;
|
||||
@@ -10,6 +8,7 @@ using System.Collections.Concurrent;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
@@ -20,7 +19,6 @@ namespace MediaBrowser.Server.Implementations.HttpServer.NetListener
|
||||
private readonly ILogger _logger;
|
||||
private HttpListener _listener;
|
||||
private readonly AutoResetEvent _listenForNextRequest = new AutoResetEvent(false);
|
||||
private readonly SmartThreadPool _threadPoolManager;
|
||||
|
||||
public System.Action<Exception, IRequest> ErrorHandler { get; set; }
|
||||
public Action<WebSocketConnectEventArgs> WebSocketHandler { get; set; }
|
||||
@@ -28,11 +26,9 @@ namespace MediaBrowser.Server.Implementations.HttpServer.NetListener
|
||||
|
||||
private readonly ConcurrentDictionary<string, string> _localEndPoints = new ConcurrentDictionary<string, string>(StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
public HttpListenerServer(ILogger logger, SmartThreadPool threadPoolManager)
|
||||
public HttpListenerServer(ILogger logger)
|
||||
{
|
||||
_logger = logger;
|
||||
|
||||
_threadPoolManager = threadPoolManager;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -63,7 +59,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer.NetListener
|
||||
|
||||
_listener.Start();
|
||||
|
||||
ThreadPool.QueueUserWorkItem(Listen);
|
||||
Task.Factory.StartNew(Listen, TaskCreationOptions.LongRunning);
|
||||
}
|
||||
|
||||
private bool IsListening
|
||||
@@ -72,7 +68,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer.NetListener
|
||||
}
|
||||
|
||||
// Loop here to begin processing of new requests.
|
||||
private void Listen(object state)
|
||||
private void Listen()
|
||||
{
|
||||
while (IsListening)
|
||||
{
|
||||
@@ -130,7 +126,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer.NetListener
|
||||
_listenForNextRequest.Set();
|
||||
}
|
||||
|
||||
_threadPoolManager.QueueWorkItem(() => InitTask(context));
|
||||
Task.Factory.StartNew(() => InitTask(context));
|
||||
}
|
||||
|
||||
private void InitTask(HttpListenerContext context)
|
||||
@@ -287,8 +283,6 @@ namespace MediaBrowser.Server.Implementations.HttpServer.NetListener
|
||||
|
||||
if (disposing)
|
||||
{
|
||||
_threadPoolManager.Dispose();
|
||||
|
||||
Stop();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
using System;
|
||||
using MediaBrowser.Common.Net;
|
||||
using MediaBrowser.Model.Logging;
|
||||
using ServiceStack;
|
||||
using ServiceStack.Web;
|
||||
using System;
|
||||
using System.Collections.Concurrent;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Amib.Threading;
|
||||
using MediaBrowser.Common.Net;
|
||||
using MediaBrowser.Model.Logging;
|
||||
using ServiceStack;
|
||||
using ServiceStack.Web;
|
||||
using WebSocketSharp.Net;
|
||||
using WebSocketSharp.Server;
|
||||
|
||||
@@ -20,12 +19,10 @@ namespace MediaBrowser.Server.Implementations.HttpServer.SocketSharp
|
||||
private WebSocketSharp.Server.HttpServer _httpsv;
|
||||
|
||||
private readonly ILogger _logger;
|
||||
private readonly SmartThreadPool _threadPoolManager;
|
||||
|
||||
public WebSocketSharpListener(ILogger logger, SmartThreadPool threadPoolManager)
|
||||
public WebSocketSharpListener(ILogger logger)
|
||||
{
|
||||
_logger = logger;
|
||||
_threadPoolManager = threadPoolManager;
|
||||
}
|
||||
|
||||
public IEnumerable<string> LocalEndPoints
|
||||
@@ -33,9 +30,9 @@ namespace MediaBrowser.Server.Implementations.HttpServer.SocketSharp
|
||||
get { return _localEndPoints.Keys.ToList(); }
|
||||
}
|
||||
|
||||
public System.Action<Exception, IRequest> ErrorHandler { get; set; }
|
||||
public Action<Exception, IRequest> ErrorHandler { get; set; }
|
||||
|
||||
public System.Func<IHttpRequest, Uri, Task> RequestHandler { get; set; }
|
||||
public Func<IHttpRequest, Uri, Task> RequestHandler { get; set; }
|
||||
|
||||
public Action<WebSocketConnectEventArgs> WebSocketHandler { get; set; }
|
||||
|
||||
@@ -50,7 +47,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer.SocketSharp
|
||||
|
||||
void _httpsv_OnRequest(object sender, HttpRequestEventArgs e)
|
||||
{
|
||||
_threadPoolManager.QueueWorkItem(() => InitTask(e.Context));
|
||||
Task.Factory.StartNew(() => InitTask(e.Context));
|
||||
}
|
||||
|
||||
private void InitTask(HttpListenerContext context)
|
||||
|
||||
Reference in New Issue
Block a user