Fixed: Multiple SignalR Improvements

Support for serverSentEvents, connection optimizations

Co-Authored-By: taloth <taloth@users.noreply.github.com>
This commit is contained in:
Qstick
2019-06-19 23:03:08 -04:00
parent 184ab745ae
commit 3ebbf6ff83
5 changed files with 53 additions and 7 deletions
@@ -16,9 +16,14 @@ namespace NzbDrone.Host.Owin.MiddleWare
SignalRDependencyResolver.Register(container);
SignalRJsonSerializer.Register();
// Half the default time (110s) to get under nginx's default 60 proxy_read_timeout
GlobalHost.Configuration.ConnectionTimeout = TimeSpan.FromSeconds(55);
GlobalHost.Configuration.DisconnectTimeout = TimeSpan.FromMinutes(3);
// Note there are some important timeouts involved here:
// nginx has a default 60 sec proxy_read_timeout, this means the connection will be terminated if the server doesn't send anything within that time.
// Previously we lowered the ConnectionTimeout from 110s to 55s to remedy that, however all we should've done is set an appropriate KeepAlive.
// By default KeepAlive is 1/3rd of the DisconnectTimeout, which we set incredibly high 5 years ago, resulting in KeepAlive being 1 minute.
// So when adjusting these values in the future, please keep that all in mind.
GlobalHost.Configuration.ConnectionTimeout = TimeSpan.FromSeconds(110);
GlobalHost.Configuration.DisconnectTimeout = TimeSpan.FromSeconds(180);
GlobalHost.Configuration.KeepAlive = TimeSpan.FromSeconds(30);
}
public void Attach(IAppBuilder appBuilder)