update cache timeout vari

This commit is contained in:
Samuele Locatelli
2026-06-09 19:26:39 +02:00
parent b4b7d21592
commit 7a2eab03f4
6 changed files with 39 additions and 28 deletions
+35 -23
View File
@@ -81,7 +81,7 @@ namespace MP.Data.Services.IOC
result = await GetCurrOdlByProdAsync(idxMacchina);
// serializzo e salvo...
rawData = JsonConvert.SerializeObject(result);
_redisDb.StringSet(currKey, rawData, GetRandTOut(redisLongTimeCache));
_redisDb.StringSet(currKey, rawData, GetRandTOut(redisLongTimeCache * 2));
}
return result;
}
@@ -96,12 +96,13 @@ namespace MP.Data.Services.IOC
/// <inheritdoc />
public async Task<bool> IobInsEnabAsync(string idxMacchina)
{
#if false
string cacheKey = $"IOC_IobInsEnab_{idxMacchina}";
return await GetOrFetchAsync(cacheKey, async () =>
{
var key = MP.Data.Utils.RedKeyDatiMacc(idxMacchina, MpIoNS);
var rKey = MP.Data.Utils.RedKeyDatiMacc(idxMacchina, MpIoNS);
string? val = await _redisDb.HashGetAsync(key, "insEnabled");
string? val = await _redisDb.HashGetAsync(rKey, "insEnabled");
if (val == null)
{
@@ -110,7 +111,25 @@ namespace MP.Data.Services.IOC
}
return val != null && (val == "1" || val.ToLower() == "true");
}, TimeSpan.FromSeconds(5));
}, TimeSpan.FromSeconds(5));
#endif
bool answ = false;
// ORA recupero da memoria redis...
var rKey = MP.Data.Utils.RedKeyDatiMacc(idxMacchina, MpIoNS);
RedisValue rawData = await _redisDb.HashGetAsync(rKey, (RedisValue)"insEnabled");
// se è vuoto... leggo da DB e popolo!
if (!rawData.HasValue)
{
await ResetDatiMacchinaAsync(idxMacchina);
// riprovo
rawData = await _redisDb.HashGetAsync(rKey, (RedisValue)"insEnabled");
}
// provo conversione
bool.TryParse($"{rawData}", out answ);
return answ;
}
/// <inheritdoc />
@@ -493,25 +512,18 @@ namespace MP.Data.Services.IOC
{
bool answ = false;
// ORA recupero da memoria redis...
try
var rKey = MP.Data.Utils.RedKeyDatiMacc(idxMacchina, MpIoNS);
RedisValue rawData = await _redisDb.HashGetAsync(rKey, (RedisValue)"sLogEnabled");
// se è vuoto... leggo da DB e popolo!
if (!rawData.HasValue)
{
var currHash = MP.Data.Utils.RedKeyDatiMacc(idxMacchina, MpIoNS);
RedisValue rawData = await _redisDb.HashGetAsync(currHash, (RedisValue)"sLogEnabled");
// se è vuoto... leggo da DB e popolo!
if (!rawData.HasValue)
{
await ResetDatiMacchinaAsync(idxMacchina);
// riprovo
rawData = await _redisDb.HashGetAsync(currHash, (RedisValue)"sLogEnabled");
}
await ResetDatiMacchinaAsync(idxMacchina);
// riprovo
rawData = await _redisDb.HashGetAsync(rKey, (RedisValue)"sLogEnabled");
}
// provo conversione
bool.TryParse($"{rawData}", out answ);
}
catch (Exception exc)
{
Log.Error($"Errore IobSLogEnabAsync | idxMacchina {idxMacchina}:{Environment.NewLine}{exc}");
}
// provo conversione
bool.TryParse($"{rawData}", out answ);
return answ;
}
@@ -832,7 +844,7 @@ namespace MP.Data.Services.IOC
result.Add("palletChange", $"{dbResult.PalletChange}");
// durata cache in secondi dal valOut insEnabled...
//double numSecCache = ((result["insEnabled"].ToLower() == "true") ? redisShortTimeCache : redisLongTimeCache);
numSecCache = dbResult.InsEnabled ? redisShortTimeCache : redisLongTimeCache;
numSecCache = dbResult.InsEnabled ? redisShortTimeCache * 2 : redisLongTimeCache;
}
// dati master/slave
@@ -853,7 +865,7 @@ namespace MP.Data.Services.IOC
// 3. Inseriamo i nuovi valori
_ = transaction.HashSetAsync(redKey, entries);
// 4. Impostiamo l'expiration in un unico colpo
_ = transaction.KeyExpireAsync(redKey, TimeSpan.FromSeconds(numSecCache));
_ = transaction.KeyExpireAsync(redKey, GetRandTOut(numSecCache));
// Eseguiamo tutto in un unico viaggio verso Redis
bool success = await transaction.ExecuteAsync();