Exemplo n.º 1
0
        private void DoWork(object?state)
        {
            logger.LogInformation("Timed cache reload background service is working.");

            var task = hostedServiceTelemetryWrapper.Execute(() => cacheReloadService.Reload(new CancellationToken(false)), nameof(CacheReloadTimedHostedService));

            if (!task.IsCompletedSuccessfully)
            {
                logger.LogInformation("Timed cache reload didn't complete successfully");
                if (task.Exception != null)
                {
                    logger.LogError(task.Exception.ToString());
                    throw task.Exception;
                }
            }

            logger.LogInformation("Timed cache reload background service has finished.");
        }
        protected override Task ExecuteAsync(CancellationToken stoppingToken)
        {
            if (cmsApiClientOptions.BaseAddress != null)
            {
                logger.LogInformation("Cache reload executing");

                var task = hostedServiceTelemetryWrapper.Execute(() => cacheReloadService.Reload(stoppingToken), nameof(CacheReloadBackgroundService));

                if (!task.IsCompletedSuccessfully)
                {
                    logger.LogInformation("Cache reload didn't complete successfully");
                    if (task.Exception != null)
                    {
                        logger.LogError(task.Exception.ToString());
                        throw task.Exception;
                    }
                }

                return(task);
            }

            return(Task.CompletedTask);
        }