From 8f89cebf3611b7f976bdeb9bfbccf6863218a266 Mon Sep 17 00:00:00 2001 From: Unai Zorrilla Castro Date: Thu, 18 Jan 2018 18:19:36 +0100 Subject: [PATCH] Fixed issue with subscriber name and remove old hosted service code on ordering.api --- .../HostedServices/BackgroundService.cs | 83 ----------------- .../GracePeriodManagerService.cs | 90 ------------------- src/Services/Ordering/Ordering.API/Startup.cs | 4 - .../Ordering.BackgroundTasks/appsettings.json | 2 +- 4 files changed, 1 insertion(+), 178 deletions(-) delete mode 100644 src/Services/Ordering/Ordering.API/Infrastructure/HostedServices/BackgroundService.cs delete mode 100644 src/Services/Ordering/Ordering.API/Infrastructure/HostedServices/GracePeriodManagerService.cs diff --git a/src/Services/Ordering/Ordering.API/Infrastructure/HostedServices/BackgroundService.cs b/src/Services/Ordering/Ordering.API/Infrastructure/HostedServices/BackgroundService.cs deleted file mode 100644 index 7d11b9d90..000000000 --- a/src/Services/Ordering/Ordering.API/Infrastructure/HostedServices/BackgroundService.cs +++ /dev/null @@ -1,83 +0,0 @@ -using System; -using System.Threading; -using System.Threading.Tasks; - -using Microsoft.Extensions.Hosting; - -namespace Ordering.API.Infrastructure.HostedServices -{ - // Copyright (c) .NET Foundation. All rights reserved. - // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - - /// - /// Base class for implementing a long running . - /// IMPORTANT: This base class is implemented in .NET Core 2.1 - Since this microservice is still in .NET Core 2.0, we're using the class within the project - /// When .NET Core 2.1 is released, this class should be removed and you should use the use implemented by the framework - /// https://github.com/aspnet/Hosting/blob/712c992ca827576c05923e6a134ca0bec87af4df/src/Microsoft.Extensions.Hosting.Abstractions/BackgroundService.cs - /// - /// - //public abstract class BackgroundService : IHostedService, IDisposable - //{ - // private Task _executingTask; - // private readonly CancellationTokenSource _stoppingCts = new CancellationTokenSource(); - - // /// - // /// This method is called when the starts. The implementation should return a task that represents - // /// the lifetime of the long running operation(s) being performed. - // /// - // /// Triggered when is called. - // /// A that represents the long running operations. - // protected abstract Task ExecuteAsync(CancellationToken stoppingToken); - - // /// - // /// Triggered when the application host is ready to start the service. - // /// - // /// Indicates that the start process has been aborted. - // public virtual Task StartAsync(CancellationToken cancellationToken) - // { - // // Store the task we're executing - // _executingTask = ExecuteAsync(_stoppingCts.Token); - - // // If the task is completed then return it, this will bubble cancellation and failure to the caller - // if (_executingTask.IsCompleted) - // { - // return _executingTask; - // } - - // // Otherwise it's running - // return Task.CompletedTask; - // } - - // /// - // /// Triggered when the application host is performing a graceful shutdown. - // /// - // /// Indicates that the shutdown process should no longer be graceful. - // public virtual async Task StopAsync(CancellationToken cancellationToken) - // { - // // Stop called without start - // if (_executingTask == null) - // { - // return; - // } - - // try - // { - // // Signal cancellation to the executing method - // _stoppingCts.Cancel(); - // } - // finally - // { - // // Wait until the task completes or the stop token triggers - // await Task.WhenAny(_executingTask, Task.Delay(Timeout.Infinite, cancellationToken)); - // } - - // } - - // public virtual void Dispose() - // { - // _stoppingCts.Cancel(); - // } - //} - - -} diff --git a/src/Services/Ordering/Ordering.API/Infrastructure/HostedServices/GracePeriodManagerService.cs b/src/Services/Ordering/Ordering.API/Infrastructure/HostedServices/GracePeriodManagerService.cs deleted file mode 100644 index 8117ce38b..000000000 --- a/src/Services/Ordering/Ordering.API/Infrastructure/HostedServices/GracePeriodManagerService.cs +++ /dev/null @@ -1,90 +0,0 @@ -namespace Ordering.API.Infrastructure.HostedServices -{ - using Dapper; - using Microsoft.eShopOnContainers.BuildingBlocks.EventBus.Abstractions; - using Microsoft.eShopOnContainers.Services.Ordering.API; - using Microsoft.Extensions.Logging; - using Microsoft.Extensions.Options; - using Ordering.API.Application.IntegrationEvents.Events; - using System; - using System.Collections.Generic; - using System.Data.SqlClient; - using System.Threading; - using System.Threading.Tasks; - - //public class GracePeriodManagerService : BackgroundService - //{ - // private readonly OrderingSettings _settings; - // private readonly ILogger _logger; - // private readonly IEventBus _eventBus; - - // public GracePeriodManagerService(IOptions settings, - // IEventBus eventBus, - // ILogger logger) - // { - // _logger = logger ?? throw new ArgumentNullException(nameof(logger)); - // _eventBus = eventBus ?? throw new ArgumentNullException(nameof(eventBus)); - // _settings = settings?.Value ?? throw new ArgumentNullException(nameof(settings)); - // } - - // protected override async Task ExecuteAsync(CancellationToken stoppingToken) - // { - // _logger.LogDebug($"GracePeriod background task is starting."); - - // stoppingToken.Register(() => _logger.LogDebug($"#1 GracePeriod background task is stopping.")); - - // while (!stoppingToken.IsCancellationRequested) - // { - // _logger.LogDebug($"GracePeriod background task is doing background work."); - - // CheckConfirmedGracePeriodOrders(); - - // await Task.Delay(_settings.CheckUpdateTime, stoppingToken); - - // continue; - // } - - // _logger.LogDebug($"GracePeriod background task is stopping."); - - // } - - // private void CheckConfirmedGracePeriodOrders() - // { - // _logger.LogDebug($"Checking confirmed grace period orders"); - - // var orderIds = GetConfirmedGracePeriodOrders(); - - // _logger.LogDebug($"GracePeriod sent a ."); - // foreach (var orderId in orderIds) - // { - // var gracePeriodConfirmedEvent = new GracePeriodConfirmedIntegrationEvent(orderId); - // _eventBus.Publish(gracePeriodConfirmedEvent); - // } - // } - - // private IEnumerable GetConfirmedGracePeriodOrders() - // { - // IEnumerable orderIds = new List(); - - // using (var conn = new SqlConnection(_settings.ConnectionString)) - // { - // try - // { - // conn.Open(); - // orderIds = conn.Query( - // @"SELECT Id FROM [ordering].[orders] - // WHERE DATEDIFF(minute, [OrderDate], GETDATE()) >= @GracePeriodTime - // AND [OrderStatusId] = 1", - // new { GracePeriodTime = _settings.GracePeriodTime }); - // } - // catch (SqlException exception) - // { - // _logger.LogCritical($"FATAL ERROR: Database connections could not be opened: {exception.Message}"); - // } - - // } - - // return orderIds; - // } - //} -} diff --git a/src/Services/Ordering/Ordering.API/Startup.cs b/src/Services/Ordering/Ordering.API/Startup.cs index 9fdc026fa..0084e0de7 100644 --- a/src/Services/Ordering/Ordering.API/Startup.cs +++ b/src/Services/Ordering/Ordering.API/Startup.cs @@ -6,7 +6,6 @@ using global::Ordering.API.Application.IntegrationEvents; using global::Ordering.API.Application.IntegrationEvents.Events; using global::Ordering.API.Infrastructure.Filters; - using global::Ordering.API.Infrastructure.HostedServices; using global::Ordering.API.Infrastructure.Middlewares; using Infrastructure.AutofacModules; using Infrastructure.Filters; @@ -58,9 +57,6 @@ }).AddControllersAsServices(); //Injecting Controllers themselves thru DI //For further info see: http://docs.autofac.org/en/latest/integration/aspnetcore.html#controllers-as-services - //// Configure GracePeriodManager Hosted Service - //services.AddSingleton(); - services.AddTransient(); services.AddHealthChecks(checks => diff --git a/src/Services/Ordering/Ordering.BackgroundTasks/appsettings.json b/src/Services/Ordering/Ordering.BackgroundTasks/appsettings.json index 546374598..fd26645ab 100644 --- a/src/Services/Ordering/Ordering.BackgroundTasks/appsettings.json +++ b/src/Services/Ordering/Ordering.BackgroundTasks/appsettings.json @@ -13,7 +13,7 @@ } } }, - "SubscriptionClientName": "Ordering", + "SubscriptionClientName": "BackgroundTasks", "GracePeriodTime": "1", "CheckUpdateTime": "1000", "ApplicationInsights": {