/// <summary> /// Create connector /// </summary> /// <param name="config"></param> /// <param name="httpClient"></param> /// <param name="tokenProvider"></param> public JobOrchestratorClient(IHttpClient httpClient, IAgentConfigProvider config, IIdentityTokenProvider tokenProvider) { _tokenProvider = tokenProvider ?? throw new ArgumentNullException(nameof(tokenProvider)); _config = config ?? throw new ArgumentNullException(nameof(config)); _httpClient = httpClient ?? throw new ArgumentNullException(nameof(httpClient)); }
/// <summary> /// Create connector /// </summary> /// <param name="config"></param> /// <param name="httpClient"></param> /// <param name="tokenProvider"></param> /// <param name="serializer"></param> /// <param name="logger"></param> public PublisherOrchestratorClient(IHttpClient httpClient, IAgentConfigProvider config, IIdentityTokenProvider tokenProvider, ISerializer serializer, ILogger logger) { _tokenProvider = tokenProvider ?? throw new ArgumentNullException(nameof(tokenProvider)); _serializer = serializer ?? throw new ArgumentNullException(nameof(serializer)); _config = config ?? throw new ArgumentNullException(nameof(config)); _httpClient = httpClient ?? throw new ArgumentNullException(nameof(httpClient)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); ThreadPool.GetMinThreads(out var workerThreads, out var asyncThreads); if (_config.Config?.MaxWorkers > workerThreads || _config.Config?.MaxWorkers > asyncThreads) { var result = ThreadPool.SetMinThreads(_config.Config.MaxWorkers.Value, _config.Config.MaxWorkers.Value); _logger.Information("Thread pool changed to worker {worker}, async {async} threads {success}", _config.Config.MaxWorkers.Value, _config.Config.MaxWorkers.Value, result ? "succeeded" : "failed"); } }