diff --git a/src/modules/Elsa.Elasticsearch/Features/ElasticsearchFeature.cs b/src/modules/Elsa.Elasticsearch/Features/ElasticsearchFeature.cs index 497bc5687..3f1261415 100644 --- a/src/modules/Elsa.Elasticsearch/Features/ElasticsearchFeature.cs +++ b/src/modules/Elsa.Elasticsearch/Features/ElasticsearchFeature.cs @@ -1,14 +1,9 @@ using Elastic.Clients.Elasticsearch; using Elsa.Elasticsearch.Extensions; -using Elsa.Elasticsearch.HostedServices; -using Elsa.Elasticsearch.Modules.Management; -using Elsa.Elasticsearch.Modules.Runtime; using Elsa.Elasticsearch.Options; using Elsa.Elasticsearch.Services; using Elsa.Features.Abstractions; using Elsa.Features.Services; -using Elsa.Workflows.Management.Entities; -using Elsa.Workflows.Runtime.Entities; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; @@ -30,12 +25,6 @@ public class ElasticsearchFeature : FeatureBase /// public Action Options { get; set; } = _ => { }; - /// - public override void ConfigureHostedServices() - { - Module.ConfigureHostedService(-2); - } - /// public override void Apply() { diff --git a/src/modules/Elsa.Elasticsearch/HostedServices/ConfigureAliasesHostedService.cs b/src/modules/Elsa.Elasticsearch/HostedServices/ConfigureAliasesHostedService.cs deleted file mode 100644 index 761e01baa..000000000 --- a/src/modules/Elsa.Elasticsearch/HostedServices/ConfigureAliasesHostedService.cs +++ /dev/null @@ -1,62 +0,0 @@ -using Elastic.Clients.Elasticsearch; -using Elastic.Clients.Elasticsearch.IndexManagement; -using Elsa.Elasticsearch.Options; -using Elsa.Elasticsearch.Services; -using Microsoft.Extensions.Hosting; -using Microsoft.Extensions.Options; - -namespace Elsa.Elasticsearch.HostedServices; - -/// -/// Configures aliases. -/// -public class ConfigureAliasesHostedService : IHostedService -{ - private readonly ElasticsearchClient _client; - private readonly ElasticsearchOptions _options; - private readonly IEnumerable _configurations; - - /// - /// Constructor. - /// - public ConfigureAliasesHostedService(ElasticsearchClient client, IOptions options, IEnumerable configurations) - { - _client = client; - _options = options.Value; - _configurations = configurations; - } - - /// - public async Task StartAsync(CancellationToken cancellationToken) - { - await ConfigureClientAsync(cancellationToken); - } - - /// - public Task StopAsync(CancellationToken cancellationToken) => Task.CompletedTask; - - private async Task ConfigureClientAsync(CancellationToken cancellationToken) - { - foreach (var configuration in _configurations) - await configuration.ConfigureClientAsync(_client, cancellationToken); - - foreach (var configuration in _configurations) - { - var alias = _options.GetIndexNameFor(configuration.DocumentType); - var indexName = configuration.IndexNamingStrategy.GenerateName(alias); - var indexExists = (await _client.Indices.ExistsAsync(indexName, cancellationToken)).Exists; - - if (indexExists) - continue; - - var response = await _client.Indices.CreateAsync(indexName, c => c - .Aliases(a => a.Add(alias, new Alias { IsWriteIndex = true })), cancellationToken); - - if (response.IsValidResponse) - continue; - - if (response.TryGetOriginalException(out var exception)) - throw exception!; - } - } -} \ No newline at end of file