aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Web/Tango.Portal
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2025-07-20 01:28:34 +0300
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2025-07-20 01:28:34 +0300
commit66cfac58db68c158c15200201cba40b5f1710f2f (patch)
treef0745f3a83820edd7e26200317dff6927b04a6e7 /Software/Visual_Studio/Web/Tango.Portal
parent4b737c824ee1b1a347ea63aabe3273f2c16f3ac3 (diff)
downloadTango-66cfac58db68c158c15200201cba40b5f1710f2f.tar.gz
Tango-66cfac58db68c158c15200201cba40b5f1710f2f.zip
Multi Env Async Stats.
Diffstat (limited to 'Software/Visual_Studio/Web/Tango.Portal')
-rw-r--r--Software/Visual_Studio/Web/Tango.Portal/Utils/StatisticsUtils.cs49
1 files changed, 27 insertions, 22 deletions
diff --git a/Software/Visual_Studio/Web/Tango.Portal/Utils/StatisticsUtils.cs b/Software/Visual_Studio/Web/Tango.Portal/Utils/StatisticsUtils.cs
index 9cf83b717..f8bfcdd6d 100644
--- a/Software/Visual_Studio/Web/Tango.Portal/Utils/StatisticsUtils.cs
+++ b/Software/Visual_Studio/Web/Tango.Portal/Utils/StatisticsUtils.cs
@@ -1,8 +1,10 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Threading.Tasks;
using System.Web;
using Tango.BL.Entities;
+using Tango.Portal.Enumerations;
using Tango.Portal.Models;
namespace Tango.Portal.Utils
@@ -17,27 +19,31 @@ namespace Tango.Portal.Utils
public Statistics GetStats()
{
- if (_stats == null || DateTime.Now > _fetchDate.AddDays(7))
+ if (_stats == null || DateTime.Now > _fetchDate.AddDays(1))
{
_fetchDate = DateTime.Now;
_stats = new Statistics();
- try
+ Task.Factory.StartNew(() =>
{
- using (var db = DbUtils.CreateContext(Enumerations.PortalEnvironment.Test))
+ try
{
- var jobRuns = db.JobRuns.Select(x => new { x.ActualStartPosition, x.ActualEndPosition, x.EndPosition, x.Status })
- .ToList()
- .Select(x => new JobRun()
+ foreach (var env in Enum.GetValues(typeof(PortalEnvironment)).Cast<PortalEnvironment>())
+ {
+ using (var db = DbUtils.CreateContext(env))
{
- ActualStartPosition = x.ActualStartPosition,
- ActualEndPosition = x.ActualEndPosition,
- EndPosition = x.EndPosition,
- Status = x.Status
- })
- .ToList();
+ var jobRuns = db.JobRuns.Select(x => new { x.ActualStartPosition, x.ActualEndPosition, x.EndPosition, x.Status })
+ .ToList()
+ .Select(x => new JobRun()
+ {
+ ActualStartPosition = x.ActualStartPosition,
+ ActualEndPosition = x.ActualEndPosition,
+ EndPosition = x.EndPosition,
+ Status = x.Status
+ })
+ .ToList();
- int[] arr = (new List<BL.Enumerations.TangoUpdateStatuses>()
+ int[] arr = (new List<BL.Enumerations.TangoUpdateStatuses>()
{
BL.Enumerations.TangoUpdateStatuses.DatabaseCompleted,
BL.Enumerations.TangoUpdateStatuses.OfflineFirmwareUpgradeCompleted,
@@ -46,17 +52,16 @@ namespace Tango.Portal.Utils
BL.Enumerations.TangoUpdateStatuses.UpdateCompleted
}).Cast<int>().ToArray();
- var upgrades = db.TangoUpdates.Where(x => arr.Contains(x.Status)).Count();
+ var upgrades = db.TangoUpdates.Where(x => arr.Contains(x.Status)).Count();
- _stats.TotalDyedThread = (int)jobRuns.Sum(x => x.Distance) / 1000;
- _stats.JobsCompleted = jobRuns.Count;
- _stats.SoftwareUpgrades = upgrades;
+ _stats.TotalDyedThread += (int)jobRuns.Sum(x => x.Distance) / 1000;
+ _stats.JobsCompleted += jobRuns.Count;
+ _stats.SoftwareUpgrades += upgrades;
+ }
+ }
}
- }
- catch (Exception)
- {
-
- }
+ catch { }
+ });
}
return _stats;