Skip to content
This repository was archived by the owner on Jul 30, 2024. It is now read-only.

Commit 8cc84ca

Browse files
author
Christy Henriksson
authored
Only test connection on first iteration (#603)
1 parent aeda084 commit 8cc84ca

1 file changed

Lines changed: 15 additions & 6 deletions

File tree

src/NuGet.Jobs.Common/JsonConfigurationJob.cs

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ public abstract class JsonConfigurationJob : JobBase
3131
private const string ServiceBusConfigurationSectionName = "ServiceBus";
3232
private const string ValidationStorageConfigurationSectionName = "ValidationStorage";
3333

34+
private bool testDatabaseConnections = true;
35+
3436
public JsonConfigurationJob()
3537
: this(null)
3638
{
@@ -147,19 +149,26 @@ private void ConfigureLibraries(IServiceCollection services)
147149

148150
protected virtual void RegisterDatabases(IServiceProvider serviceProvider)
149151
{
150-
RegisterDatabaseIfConfigured<GalleryDbConfiguration>(serviceProvider);
151-
RegisterDatabaseIfConfigured<StatisticsDbConfiguration>(serviceProvider);
152-
RegisterDatabaseIfConfigured<SupportRequestDbConfiguration>(serviceProvider);
153-
RegisterDatabaseIfConfigured<ValidationDbConfiguration>(serviceProvider);
152+
try
153+
{
154+
RegisterDatabaseIfConfigured<GalleryDbConfiguration>(serviceProvider, testDatabaseConnections);
155+
RegisterDatabaseIfConfigured<StatisticsDbConfiguration>(serviceProvider, testDatabaseConnections);
156+
RegisterDatabaseIfConfigured<SupportRequestDbConfiguration>(serviceProvider, testDatabaseConnections);
157+
RegisterDatabaseIfConfigured<ValidationDbConfiguration>(serviceProvider, testDatabaseConnections);
158+
}
159+
finally
160+
{
161+
testDatabaseConnections = false;
162+
}
154163
}
155164

156-
private void RegisterDatabaseIfConfigured<TDbConfiguration>(IServiceProvider serviceProvider)
165+
private void RegisterDatabaseIfConfigured<TDbConfiguration>(IServiceProvider serviceProvider, bool testConnection)
157166
where TDbConfiguration : IDbConfiguration
158167
{
159168
var dbConfiguration = serviceProvider.GetRequiredService<IOptionsSnapshot<TDbConfiguration>>();
160169
if (!string.IsNullOrEmpty(dbConfiguration.Value?.ConnectionString))
161170
{
162-
RegisterDatabase<TDbConfiguration>(serviceProvider);
171+
RegisterDatabase<TDbConfiguration>(serviceProvider, testConnection);
163172
}
164173
}
165174

0 commit comments

Comments
 (0)