This commit is contained in:
@@ -190,7 +190,7 @@ namespace AyaNova.Biz
|
|||||||
if (!ServerGlobalOpsSettingsCache.DBAVAILABLE)
|
if (!ServerGlobalOpsSettingsCache.DBAVAILABLE)
|
||||||
{
|
{
|
||||||
//This will set dbavailable flag if it becomes available
|
//This will set dbavailable flag if it becomes available
|
||||||
DbUtil.CheckDatabaseServerAvailable();
|
DbUtil.CheckDatabaseServerAvailable(log);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -207,7 +207,7 @@ namespace AyaNova.Util
|
|||||||
///////////////////////////////////////////////
|
///////////////////////////////////////////////
|
||||||
// Set global flag if db server is connectable
|
// Set global flag if db server is connectable
|
||||||
//
|
//
|
||||||
internal static void CheckDatabaseServerAvailable()
|
internal static void CheckDatabaseServerAvailable(ILogger log)
|
||||||
{
|
{
|
||||||
//Called by generator when db is down to check if it can connect
|
//Called by generator when db is down to check if it can connect
|
||||||
if (CHECKING_DB_AVAILABLE) return;
|
if (CHECKING_DB_AVAILABLE) return;
|
||||||
@@ -215,8 +215,14 @@ namespace AyaNova.Util
|
|||||||
if (DateTime.UtcNow - CHECKED_DB_AVAILABLE_LAST < CHECK_DB_AVAILABLE_EVERY_INTERVAL)
|
if (DateTime.UtcNow - CHECKED_DB_AVAILABLE_LAST < CHECK_DB_AVAILABLE_EVERY_INTERVAL)
|
||||||
return;
|
return;
|
||||||
CHECKING_DB_AVAILABLE = true;
|
CHECKING_DB_AVAILABLE = true;
|
||||||
|
if (CHECKING_DB_LOG_DOWN_STATUS)
|
||||||
|
{
|
||||||
|
log.LogInformation("Database server unreachable pausing Job processing");
|
||||||
|
CHECKING_DB_LOG_DOWN_STATUS = false;
|
||||||
|
}
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
log.LogTrace("Database Down - checking if up yet");
|
||||||
using (AyContext ct = ServiceProviderProvider.DBContext)
|
using (AyContext ct = ServiceProviderProvider.DBContext)
|
||||||
{
|
{
|
||||||
var dummy = ct.GlobalBizSettings.FirstOrDefault(z => z.Id == 1);
|
var dummy = ct.GlobalBizSettings.FirstOrDefault(z => z.Id == 1);
|
||||||
@@ -232,11 +238,14 @@ namespace AyaNova.Util
|
|||||||
CHECKING_DB_AVAILABLE = false;
|
CHECKING_DB_AVAILABLE = false;
|
||||||
}
|
}
|
||||||
//We have db available
|
//We have db available
|
||||||
|
log.LogInformation("Database server has become available, resuming Job processing");
|
||||||
ServerGlobalOpsSettingsCache.DBAVAILABLE = true;
|
ServerGlobalOpsSettingsCache.DBAVAILABLE = true;
|
||||||
|
CHECKING_DB_LOG_DOWN_STATUS = true;
|
||||||
}
|
}
|
||||||
private static bool CHECKING_DB_AVAILABLE = false;
|
private static bool CHECKING_DB_AVAILABLE = false;
|
||||||
|
private static bool CHECKING_DB_LOG_DOWN_STATUS = true;
|
||||||
private static DateTime CHECKED_DB_AVAILABLE_LAST = DateTime.MinValue;
|
private static DateTime CHECKED_DB_AVAILABLE_LAST = DateTime.MinValue;
|
||||||
private static TimeSpan CHECK_DB_AVAILABLE_EVERY_INTERVAL = new TimeSpan(0, 0, 60);
|
private static TimeSpan CHECK_DB_AVAILABLE_EVERY_INTERVAL = new TimeSpan(0, 0, 30);
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
|
|||||||
Reference in New Issue
Block a user