Skip to content
Merged

Devel #262

Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 21 additions & 15 deletions aspnetcore/src/Indexer/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public class Program
{
private const int DefaultQueryTimeout = 300;

public static async Task Main(string[] args)
public static async Task<int> Main(string[] args)
{
var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
var configuration = new ConfigurationBuilder()
Expand All @@ -30,24 +30,30 @@ public static async Task Main(string[] args)
.ReadFrom.Configuration(configuration)
.CreateLogger();

// Create and configure the host to support dependency injection, configuration, etc.
var consoleHost = CreateHostBuilder(args).Build();

// Check if the database is ready for indexing.
var databasePreflightCheck = consoleHost.Services.GetRequiredService<DatabasePreflightCheck>();
if (!databasePreflightCheck.IsGood())
try
{
return;
}
var consoleHost = CreateHostBuilder(args).Build();

// Get the "Main" service which handles the indexing.
var indexer = consoleHost.Services.GetRequiredService<Indexer>();
var databasePreflightCheck = consoleHost.Services.GetRequiredService<DatabasePreflightCheck>();
if (!databasePreflightCheck.IsGood())
{
return 1;
}

// Start indexing.
await indexer.Start();
var indexer = consoleHost.Services.GetRequiredService<Indexer>();
await indexer.Start();

// Flush logs
Log.CloseAndFlush();
return 0;
}
catch (Exception ex)
{
Log.Error(ex, "Indexer failed");
return 1;
}
finally
{
Log.CloseAndFlush();
}
}

private static IHostBuilder CreateHostBuilder(string[] args) => Host
Expand Down
Loading