From e9c45da1954b9034687864583ab92067da559c2f Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Fri, 12 Sep 2025 11:39:20 +0200 Subject: [PATCH] Update progetti meno usati: INVE, IOC, PROG --- MP.INVE/Data/MiDataService.cs | 42 +++++++++++++++++++++++++---- MP.INVE/MP.INVE.csproj | 3 +-- MP.INVE/Resources/ChangeLog.html | 2 +- MP.INVE/Resources/VersNum.txt | 2 +- MP.INVE/Resources/manifest.xml | 2 +- MP.IOC/MP.IOC.csproj | 1 - MP.IOC/Resources/ChangeLog.html | 2 +- MP.IOC/Resources/VersNum.txt | 2 +- MP.IOC/Resources/manifest.xml | 2 +- MP.Prog/Data/FileArchDataService.cs | 36 +++++++++++++++++++++++-- MP.Prog/MP.Prog.csproj | 5 +--- MP.Prog/Resources/ChangeLog.html | 2 +- MP.Prog/Resources/VersNum.txt | 2 +- MP.Prog/Resources/manifest.xml | 2 +- 14 files changed, 82 insertions(+), 23 deletions(-) diff --git a/MP.INVE/Data/MiDataService.cs b/MP.INVE/Data/MiDataService.cs index b7703c29..fd777a0c 100644 --- a/MP.INVE/Data/MiDataService.cs +++ b/MP.INVE/Data/MiDataService.cs @@ -318,7 +318,7 @@ namespace MP.INVE.Data } /// - /// Svuota solo il pattern richiesto + /// Svuota solo il pat2Flush richiesto /// /// /// @@ -854,13 +854,44 @@ namespace MP.INVE.Data #region Private Methods /// - /// Esegue flush memoria redis dato pattern + /// Esegue flush memoria redis dato pat2Flush /// - /// + /// /// - private async Task ExecFlushRedisPattern(RedisValue pattern) + private async Task ExecFlushRedisPattern(RedisValue pat2Flush) { bool answ = false; + var masterEndpoint = redisConn.GetEndPoints() + .Where(ep => redisConn.GetServer(ep).IsConnected && !redisConn.GetServer(ep).IsReplica) + .FirstOrDefault(); + + // sepattern è "*" elimino intero DB... + if (masterEndpoint != null && (pat2Flush.Equals(new RedisValue("*")) || pat2Flush == RedisValue.Null)) + { + redisConn.GetServer(masterEndpoint).FlushDatabase(database: redisDb.Database); + } + else + { + var server = redisConn.GetServer(masterEndpoint); + var keys = server.Keys(database: redisDb.Database, pattern: pat2Flush, pageSize: 1000); + + var deleteTasks = new List(); + foreach (var key in keys) + { + deleteTasks.Add(redisDb.KeyDeleteAsync(key)); + if (deleteTasks.Count >= 1000) + { + await Task.WhenAll(deleteTasks); + deleteTasks.Clear(); + } + } + if (deleteTasks.Count > 0) + { + await Task.WhenAll(deleteTasks); + } + } + answ = true; +#if false var listEndpoints = redisConnAdmin.GetEndPoints(); foreach (var endPoint in listEndpoints) { @@ -877,7 +908,8 @@ namespace MP.INVE.Data //await server.FlushDatabaseAsync(); answ = true; } - } + } +#endif return answ; } diff --git a/MP.INVE/MP.INVE.csproj b/MP.INVE/MP.INVE.csproj index 2336a13e..bbd47d4f 100644 --- a/MP.INVE/MP.INVE.csproj +++ b/MP.INVE/MP.INVE.csproj @@ -5,7 +5,7 @@ enable enable MP.INVE - 6.16.2503.1417 + 6.16.2509.1211 @@ -23,7 +23,6 @@ - diff --git a/MP.INVE/Resources/ChangeLog.html b/MP.INVE/Resources/ChangeLog.html index c843df93..eb8d5a1e 100644 --- a/MP.INVE/Resources/ChangeLog.html +++ b/MP.INVE/Resources/ChangeLog.html @@ -1,6 +1,6 @@ Modulo MAPOINVE -

Versione: 6.16.2503.1417

+

Versione: 6.16.2509.1211


Note di rilascio:
  • diff --git a/MP.INVE/Resources/VersNum.txt b/MP.INVE/Resources/VersNum.txt index 1b215c09..fe790325 100644 --- a/MP.INVE/Resources/VersNum.txt +++ b/MP.INVE/Resources/VersNum.txt @@ -1 +1 @@ -6.16.2503.1417 +6.16.2509.1211 diff --git a/MP.INVE/Resources/manifest.xml b/MP.INVE/Resources/manifest.xml index 493c884d..8bec0208 100644 --- a/MP.INVE/Resources/manifest.xml +++ b/MP.INVE/Resources/manifest.xml @@ -1,6 +1,6 @@ - 6.16.2503.1417 + 6.16.2509.1211 https://nexus.steamware.net/repository/SWS/MP-INVE/stable/LAST/MP.INVE.zip https://nexus.steamware.net/repository/SWS/MP-INVE/stable/LAST/ChangeLog.html false diff --git a/MP.IOC/MP.IOC.csproj b/MP.IOC/MP.IOC.csproj index 09536823..8f22a551 100644 --- a/MP.IOC/MP.IOC.csproj +++ b/MP.IOC/MP.IOC.csproj @@ -24,7 +24,6 @@ - diff --git a/MP.IOC/Resources/ChangeLog.html b/MP.IOC/Resources/ChangeLog.html index 7ca8e342..ca5124ad 100644 --- a/MP.IOC/Resources/ChangeLog.html +++ b/MP.IOC/Resources/ChangeLog.html @@ -1,6 +1,6 @@ Modulo MP-IOC -

    Versione: 6.16.2506.3014

    +

    Versione: 6.16.2509.1211


    Note di rilascio:
    • diff --git a/MP.IOC/Resources/VersNum.txt b/MP.IOC/Resources/VersNum.txt index a612c160..fe790325 100644 --- a/MP.IOC/Resources/VersNum.txt +++ b/MP.IOC/Resources/VersNum.txt @@ -1 +1 @@ -6.16.2506.3014 +6.16.2509.1211 diff --git a/MP.IOC/Resources/manifest.xml b/MP.IOC/Resources/manifest.xml index 29da8138..0d7f46f7 100644 --- a/MP.IOC/Resources/manifest.xml +++ b/MP.IOC/Resources/manifest.xml @@ -1,6 +1,6 @@ - 6.16.2506.3014 + 6.16.2509.1211 https://nexus.steamware.net/repository/SWS/MP-IOC/stable/LAST/MP.IOC.zip https://nexus.steamware.net/repository/SWS/MP-IOC/stable/LAST/ChangeLog.html false diff --git a/MP.Prog/Data/FileArchDataService.cs b/MP.Prog/Data/FileArchDataService.cs index c4dd19ad..ebd45aba 100644 --- a/MP.Prog/Data/FileArchDataService.cs +++ b/MP.Prog/Data/FileArchDataService.cs @@ -639,9 +639,40 @@ namespace MP.Prog.Data /// /// /// - private async Task ExecFlushRedisPattern(RedisValue pattern) + private async Task ExecFlushRedisPattern(RedisValue pat2Flush) { bool answ = false; + var masterEndpoint = redisConn.GetEndPoints() + .Where(ep => redisConn.GetServer(ep).IsConnected && !redisConn.GetServer(ep).IsReplica) + .FirstOrDefault(); + + // sepattern è "*" elimino intero DB... + if (masterEndpoint != null && (pat2Flush.Equals(new RedisValue("*")) || pat2Flush == RedisValue.Null)) + { + redisConn.GetServer(masterEndpoint).FlushDatabase(database: redisDb.Database); + } + else + { + var server = redisConn.GetServer(masterEndpoint); + var keys = server.Keys(database: redisDb.Database, pattern: pat2Flush, pageSize: 1000); + + var deleteTasks = new List(); + foreach (var key in keys) + { + deleteTasks.Add(redisDb.KeyDeleteAsync(key)); + if (deleteTasks.Count >= 1000) + { + await Task.WhenAll(deleteTasks); + deleteTasks.Clear(); + } + } + if (deleteTasks.Count > 0) + { + await Task.WhenAll(deleteTasks); + } + } + answ = true; +#if false var listEndpoints = redisConn.GetEndPoints(); foreach (var endPoint in listEndpoints) { @@ -656,7 +687,8 @@ namespace MP.Prog.Data } answ = true; } - } + } +#endif return answ; } diff --git a/MP.Prog/MP.Prog.csproj b/MP.Prog/MP.Prog.csproj index c11e464a..6681cf6d 100644 --- a/MP.Prog/MP.Prog.csproj +++ b/MP.Prog/MP.Prog.csproj @@ -3,7 +3,7 @@ net6.0 MP.Prog - 6.16.2507.0315 + 6.16.2509.1211 True @@ -18,8 +18,6 @@ - - @@ -27,7 +25,6 @@ - diff --git a/MP.Prog/Resources/ChangeLog.html b/MP.Prog/Resources/ChangeLog.html index 90159ca1..21a18813 100644 --- a/MP.Prog/Resources/ChangeLog.html +++ b/MP.Prog/Resources/ChangeLog.html @@ -1,6 +1,6 @@ Modulo gestione Programmi MAPO -

      Versione: 6.16.2507.0315

      +

      Versione: 6.16.2509.1211


      Note di rilascio:
        diff --git a/MP.Prog/Resources/VersNum.txt b/MP.Prog/Resources/VersNum.txt index 73d542ab..fe790325 100644 --- a/MP.Prog/Resources/VersNum.txt +++ b/MP.Prog/Resources/VersNum.txt @@ -1 +1 @@ -6.16.2507.0315 +6.16.2509.1211 diff --git a/MP.Prog/Resources/manifest.xml b/MP.Prog/Resources/manifest.xml index 5b88d093..94956534 100644 --- a/MP.Prog/Resources/manifest.xml +++ b/MP.Prog/Resources/manifest.xml @@ -1,6 +1,6 @@ - 6.16.2507.0315 + 6.16.2509.1211 https://nexus.steamware.net/repository/SWS/MP-PROG/stable/LAST/MP.Prog.zip https://nexus.steamware.net/repository/SWS/MP-PROG/stable/LAST/ChangeLog.html false