Monitor DashboardRefreshSeconds
This commit is contained in:
parent
6d849c8c03
commit
f8573661c9
|
@ -59,7 +59,7 @@ namespace Core.Main.DataObjects.PTMagicData
|
||||||
public int GraphIntervalMinutes { get; set; } = 60;
|
public int GraphIntervalMinutes { get; set; } = 60;
|
||||||
public int GraphMaxTimeframeHours { get; set; } = 24;
|
public int GraphMaxTimeframeHours { get; set; } = 24;
|
||||||
public int ProfitsMaxTimeframeDays { get; set; } = 60;
|
public int ProfitsMaxTimeframeDays { get; set; } = 60;
|
||||||
public int RefreshSeconds { get; set; } = 30;
|
public int DashboardChartsRefreshSeconds { get; set; } = 30;
|
||||||
public int BagAnalyzerRefreshSeconds { get; set; } = 5;
|
public int BagAnalyzerRefreshSeconds { get; set; } = 5;
|
||||||
public int BuyAnalyzerRefreshSeconds { get; set; } = 5;
|
public int BuyAnalyzerRefreshSeconds { get; set; } = 5;
|
||||||
public int MaxTopMarkets { get; set; } = 20;
|
public int MaxTopMarkets { get; set; } = 20;
|
||||||
|
|
|
@ -114,7 +114,7 @@ namespace Core.Main.DataObjects
|
||||||
if (_misc == null || (DateTime.UtcNow > _miscRefresh))
|
if (_misc == null || (DateTime.UtcNow > _miscRefresh))
|
||||||
{
|
{
|
||||||
_misc = BuildMiscData(GetDataFromProfitTrailer("api/v2/data/misc"));
|
_misc = BuildMiscData(GetDataFromProfitTrailer("api/v2/data/misc"));
|
||||||
_miscRefresh = DateTime.UtcNow.AddSeconds(_systemConfiguration.GeneralSettings.Monitor.RefreshSeconds - 1);
|
_miscRefresh = DateTime.UtcNow.AddSeconds(_systemConfiguration.GeneralSettings.Monitor.DashboardChartsRefreshSeconds - 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -185,7 +185,7 @@ namespace Core.Main.DataObjects
|
||||||
{
|
{
|
||||||
JArray dailyStatsSection = (JArray)extraSection["dailyStats"];
|
JArray dailyStatsSection = (JArray)extraSection["dailyStats"];
|
||||||
_dailyStats = dailyStatsSection.Select(j => BuildDailyStatsData(j as JObject)).ToList();
|
_dailyStats = dailyStatsSection.Select(j => BuildDailyStatsData(j as JObject)).ToList();
|
||||||
_dailyStatsRefresh = DateTime.UtcNow.AddSeconds(_systemConfiguration.GeneralSettings.Monitor.RefreshSeconds - 1);
|
_dailyStatsRefresh = DateTime.UtcNow.AddSeconds(_systemConfiguration.GeneralSettings.Monitor.DashboardChartsRefreshSeconds - 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -220,7 +220,7 @@ namespace Core.Main.DataObjects
|
||||||
if (_properties == null || (DateTime.UtcNow > _propertiesRefresh))
|
if (_properties == null || (DateTime.UtcNow > _propertiesRefresh))
|
||||||
{
|
{
|
||||||
_properties = BuildProptertiesData(GetDataFromProfitTrailer("api/v2/data/properties"));
|
_properties = BuildProptertiesData(GetDataFromProfitTrailer("api/v2/data/properties"));
|
||||||
_propertiesRefresh = DateTime.UtcNow.AddSeconds(_systemConfiguration.GeneralSettings.Monitor.RefreshSeconds - 1);
|
_propertiesRefresh = DateTime.UtcNow.AddSeconds(_systemConfiguration.GeneralSettings.Monitor.DashboardChartsRefreshSeconds - 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -263,7 +263,7 @@ namespace Core.Main.DataObjects
|
||||||
jsonReader.Read(); // Move to the value of the "basic" property
|
jsonReader.Read(); // Move to the value of the "basic" property
|
||||||
JObject basicSection = JObject.Load(jsonReader);
|
JObject basicSection = JObject.Load(jsonReader);
|
||||||
_stats = BuildStatsData(basicSection);
|
_stats = BuildStatsData(basicSection);
|
||||||
_statsRefresh = DateTime.UtcNow.AddSeconds(_systemConfiguration.GeneralSettings.Monitor.RefreshSeconds - 1);
|
_statsRefresh = DateTime.UtcNow.AddSeconds(_systemConfiguration.GeneralSettings.Monitor.DashboardChartsRefreshSeconds - 1);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -360,7 +360,7 @@ namespace Core.Main.DataObjects
|
||||||
{
|
{
|
||||||
JArray dailyPNLSection = (JArray)extraSection["dailyPNLStats"];
|
JArray dailyPNLSection = (JArray)extraSection["dailyPNLStats"];
|
||||||
_dailyPNL = dailyPNLSection.Select(j => BuildDailyPNLData(j as JObject)).ToList();
|
_dailyPNL = dailyPNLSection.Select(j => BuildDailyPNLData(j as JObject)).ToList();
|
||||||
_dailyPNLRefresh = DateTime.UtcNow.AddSeconds(_systemConfiguration.GeneralSettings.Monitor.RefreshSeconds - 1);
|
_dailyPNLRefresh = DateTime.UtcNow.AddSeconds(_systemConfiguration.GeneralSettings.Monitor.DashboardChartsRefreshSeconds - 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -434,7 +434,7 @@ namespace Core.Main.DataObjects
|
||||||
_profitablePairs.Add(BuildProfitablePairs(profitablePair));
|
_profitablePairs.Add(BuildProfitablePairs(profitablePair));
|
||||||
counter++;
|
counter++;
|
||||||
}
|
}
|
||||||
_profitablePairsRefresh = DateTime.UtcNow.AddSeconds(_systemConfiguration.GeneralSettings.Monitor.RefreshSeconds - 1);
|
_profitablePairsRefresh = DateTime.UtcNow.AddSeconds(_systemConfiguration.GeneralSettings.Monitor.DashboardChartsRefreshSeconds - 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -500,7 +500,7 @@ namespace Core.Main.DataObjects
|
||||||
{
|
{
|
||||||
JArray dailyTCVSection = (JArray)extraSection["dailyTCVStats"];
|
JArray dailyTCVSection = (JArray)extraSection["dailyTCVStats"];
|
||||||
_dailyTCV = dailyTCVSection.Select(j => BuildDailyTCVData(j as JObject)).ToList();
|
_dailyTCV = dailyTCVSection.Select(j => BuildDailyTCVData(j as JObject)).ToList();
|
||||||
_dailyTCVRefresh = DateTime.UtcNow.AddSeconds(_systemConfiguration.GeneralSettings.Monitor.RefreshSeconds - 1);
|
_dailyTCVRefresh = DateTime.UtcNow.AddSeconds(_systemConfiguration.GeneralSettings.Monitor.DashboardChartsRefreshSeconds - 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -568,7 +568,7 @@ namespace Core.Main.DataObjects
|
||||||
{
|
{
|
||||||
JArray monthlyStatsSection = (JArray)extraSection["monthlyStats"];
|
JArray monthlyStatsSection = (JArray)extraSection["monthlyStats"];
|
||||||
_monthlyStats = monthlyStatsSection.Select(j => BuildMonthlyStatsData(j as JObject)).ToList();
|
_monthlyStats = monthlyStatsSection.Select(j => BuildMonthlyStatsData(j as JObject)).ToList();
|
||||||
_monthlyStatsRefresh = DateTime.UtcNow.AddSeconds(_systemConfiguration.GeneralSettings.Monitor.RefreshSeconds - 1);
|
_monthlyStatsRefresh = DateTime.UtcNow.AddSeconds(_systemConfiguration.GeneralSettings.Monitor.DashboardChartsRefreshSeconds - 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -107,7 +107,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reinstate the interval.
|
// Reinstate the interval.
|
||||||
intervalDashboardBottom = setInterval(function () { loadDashboardBottom(); }, @Model.PTMagicConfiguration.GeneralSettings.Monitor.RefreshSeconds * 1000);
|
intervalDashboardBottom = setInterval(function () { loadDashboardBottom(); }, @Model.PTMagicConfiguration.GeneralSettings.Monitor.DashboardChartsRefreshSeconds * 1000);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -225,7 +225,7 @@
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label class="col-md-4 col-form-label">Dashboard Charts Refresh (Seconds) <i class="fa fa-info-circle text-muted" data-toggle="tooltip" data-placement="top" title="The refresh interval in seconds, of the charts and graphs on then main page."></i></label>
|
<label class="col-md-4 col-form-label">Dashboard Charts Refresh (Seconds) <i class="fa fa-info-circle text-muted" data-toggle="tooltip" data-placement="top" title="The refresh interval in seconds, of the charts and graphs on then main page."></i></label>
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<input type="text" class="form-control" name="Monitor_RefreshSeconds" value="@Model.PTMagicConfiguration.GeneralSettings.Monitor.RefreshSeconds.ToString(new System.Globalization.CultureInfo("en-US"))">
|
<input type="text" class="form-control" name="Monitor_RefreshSeconds" value="@Model.PTMagicConfiguration.GeneralSettings.Monitor.DashboardChartsRefreshSeconds.ToString(new System.Globalization.CultureInfo("en-US"))">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -62,7 +62,7 @@ namespace Monitor.Pages
|
||||||
PTMagicConfiguration.GeneralSettings.Monitor.GraphIntervalMinutes = SystemHelper.TextToInteger(HttpContext.Request.Form["Monitor_GraphIntervalMinutes"], PTMagicConfiguration.GeneralSettings.Monitor.GraphIntervalMinutes);
|
PTMagicConfiguration.GeneralSettings.Monitor.GraphIntervalMinutes = SystemHelper.TextToInteger(HttpContext.Request.Form["Monitor_GraphIntervalMinutes"], PTMagicConfiguration.GeneralSettings.Monitor.GraphIntervalMinutes);
|
||||||
PTMagicConfiguration.GeneralSettings.Monitor.GraphMaxTimeframeHours = SystemHelper.TextToInteger(HttpContext.Request.Form["Monitor_GraphMaxTimeframeHours"], PTMagicConfiguration.GeneralSettings.Monitor.GraphMaxTimeframeHours);
|
PTMagicConfiguration.GeneralSettings.Monitor.GraphMaxTimeframeHours = SystemHelper.TextToInteger(HttpContext.Request.Form["Monitor_GraphMaxTimeframeHours"], PTMagicConfiguration.GeneralSettings.Monitor.GraphMaxTimeframeHours);
|
||||||
PTMagicConfiguration.GeneralSettings.Monitor.ProfitsMaxTimeframeDays = SystemHelper.TextToInteger(HttpContext.Request.Form["Monitor_ProfitsMaxTimeframeDays"], PTMagicConfiguration.GeneralSettings.Monitor.ProfitsMaxTimeframeDays);
|
PTMagicConfiguration.GeneralSettings.Monitor.ProfitsMaxTimeframeDays = SystemHelper.TextToInteger(HttpContext.Request.Form["Monitor_ProfitsMaxTimeframeDays"], PTMagicConfiguration.GeneralSettings.Monitor.ProfitsMaxTimeframeDays);
|
||||||
PTMagicConfiguration.GeneralSettings.Monitor.RefreshSeconds = SystemHelper.TextToInteger(HttpContext.Request.Form["Monitor_RefreshSeconds"], PTMagicConfiguration.GeneralSettings.Monitor.RefreshSeconds);
|
PTMagicConfiguration.GeneralSettings.Monitor.DashboardChartsRefreshSeconds = SystemHelper.TextToInteger(HttpContext.Request.Form["Monitor_RefreshSeconds"], PTMagicConfiguration.GeneralSettings.Monitor.DashboardChartsRefreshSeconds);
|
||||||
PTMagicConfiguration.GeneralSettings.Monitor.BagAnalyzerRefreshSeconds = SystemHelper.TextToInteger(HttpContext.Request.Form["Monitor_BagAnalyzerRefreshSeconds"], PTMagicConfiguration.GeneralSettings.Monitor.BagAnalyzerRefreshSeconds);
|
PTMagicConfiguration.GeneralSettings.Monitor.BagAnalyzerRefreshSeconds = SystemHelper.TextToInteger(HttpContext.Request.Form["Monitor_BagAnalyzerRefreshSeconds"], PTMagicConfiguration.GeneralSettings.Monitor.BagAnalyzerRefreshSeconds);
|
||||||
PTMagicConfiguration.GeneralSettings.Monitor.BuyAnalyzerRefreshSeconds = SystemHelper.TextToInteger(HttpContext.Request.Form["Monitor_BuyAnalyzerRefreshSeconds"], PTMagicConfiguration.GeneralSettings.Monitor.BuyAnalyzerRefreshSeconds);
|
PTMagicConfiguration.GeneralSettings.Monitor.BuyAnalyzerRefreshSeconds = SystemHelper.TextToInteger(HttpContext.Request.Form["Monitor_BuyAnalyzerRefreshSeconds"], PTMagicConfiguration.GeneralSettings.Monitor.BuyAnalyzerRefreshSeconds);
|
||||||
PTMagicConfiguration.GeneralSettings.Monitor.LinkPlatform = HttpContext.Request.Form["Monitor_LinkPlatform"];
|
PTMagicConfiguration.GeneralSettings.Monitor.LinkPlatform = HttpContext.Request.Form["Monitor_LinkPlatform"];
|
||||||
|
|
|
@ -13,8 +13,8 @@
|
||||||
|
|
||||||
<div class="col-md-3 px-1">
|
<div class="col-md-3 px-1">
|
||||||
<div class="card-box px-1" style="height:240px;">
|
<div class="card-box px-1" style="height:240px;">
|
||||||
<div class="cdev" data-percent="100" data-duration="@Html.Raw(@Model.PTMagicConfiguration.GeneralSettings.Monitor.RefreshSeconds * 1000)" data-color="#aaa,#414d59"
|
<div class="cdev" data-percent="100" data-duration="@Html.Raw(@Model.PTMagicConfiguration.GeneralSettings.Monitor.DashboardChartsRefreshSeconds * 1000)" data-color="#aaa,#414d59"
|
||||||
title="All charts set to refresh every @Model.PTMagicConfiguration.GeneralSettings.Monitor.RefreshSeconds seconds in your general settings."></div>
|
title="All charts set to refresh every @Model.PTMagicConfiguration.GeneralSettings.Monitor.DashboardChartsRefreshSeconds seconds in your general settings."></div>
|
||||||
@{
|
@{
|
||||||
string totalCurrentValueString = Model.totalCurrentValue.ToString("#,#0.00000000", new System.Globalization.CultureInfo("en-US"));
|
string totalCurrentValueString = Model.totalCurrentValue.ToString("#,#0.00000000", new System.Globalization.CultureInfo("en-US"));
|
||||||
if (Model.totalCurrentValue > 100) {
|
if (Model.totalCurrentValue > 100) {
|
||||||
|
@ -87,7 +87,7 @@
|
||||||
@* <div class="cdev" data-percent="100" data-duration="@Html.Raw(@Model.PTMagicConfiguration.GeneralSettings.Monitor.RefreshSeco;nds * 1000)" data-color="#aaa,#414d59"></div>
|
@* <div class="cdev" data-percent="100" data-duration="@Html.Raw(@Model.PTMagicConfiguration.GeneralSettings.Monitor.RefreshSeco;nds * 1000)" data-color="#aaa,#414d59"></div>
|
||||||
<br> *@
|
<br> *@
|
||||||
<h4 class="m-t-0 m-b-20 header-title">Live Market Trends
|
<h4 class="m-t-0 m-b-20 header-title">Live Market Trends
|
||||||
<i class="fa fa-info-circle text-muted" style="font-size small" data-toggle="tooltip" data-placement="top" title="Set to refresh every @Model.PTMagicConfiguration.GeneralSettings.Monitor.RefreshSeconds seconds in general settings."></i>
|
<i class="fa fa-info-circle text-muted" style="font-size small" data-toggle="tooltip" data-placement="top" title="Set to refresh every @Model.PTMagicConfiguration.GeneralSettings.Monitor.DashboardChartsRefreshSeconds seconds in general settings."></i>
|
||||||
<small class="pull-right" style="font-size: small"><a href="@Html.Raw(Model.PTMagicConfiguration.GeneralSettings.Monitor.RootUrl)MarketAnalyzer">ANALYZER</a></small>
|
<small class="pull-right" style="font-size: small"><a href="@Html.Raw(Model.PTMagicConfiguration.GeneralSettings.Monitor.RootUrl)MarketAnalyzer">ANALYZER</a></small>
|
||||||
</h4>
|
</h4>
|
||||||
<table class="table table-sm">
|
<table class="table table-sm">
|
||||||
|
|
|
@ -75,7 +75,7 @@ namespace Monitor.Pages
|
||||||
|
|
||||||
public void StartUpdatingTotalCurrentValueLive()
|
public void StartUpdatingTotalCurrentValueLive()
|
||||||
{
|
{
|
||||||
int liveTCVInterval = PTMagicConfiguration.GeneralSettings.Monitor.RefreshSeconds;
|
int liveTCVInterval = PTMagicConfiguration.GeneralSettings.Monitor.DashboardChartsRefreshSeconds;
|
||||||
if (timer != null)
|
if (timer != null)
|
||||||
{
|
{
|
||||||
// Timer is already running
|
// Timer is already running
|
||||||
|
|
|
@ -27,26 +27,30 @@ namespace Monitor.Pages {
|
||||||
}
|
}
|
||||||
public bool IsAnalyzerRunning()
|
public bool IsAnalyzerRunning()
|
||||||
{
|
{
|
||||||
// Acquire the mutex before accessing the file
|
bool ownsMutex = false;
|
||||||
try
|
try
|
||||||
{
|
|
||||||
mutex.WaitOne(0);
|
|
||||||
|
|
||||||
string webRootParent = Directory.GetParent(_hostingEnvironment.WebRootPath).FullName;
|
|
||||||
string ptMagicRoot = Directory.GetParent(webRootParent).FullName;
|
|
||||||
string analyzerStatePath = Path.Combine(ptMagicRoot, "_data", "AnalyzerState");
|
|
||||||
if (System.IO.File.Exists(analyzerStatePath))
|
|
||||||
{
|
{
|
||||||
string state = System.IO.File.ReadAllText(analyzerStatePath);
|
// Try to acquire the mutex.
|
||||||
return state == "1";
|
ownsMutex = mutex.WaitOne(0);
|
||||||
}
|
|
||||||
return false;
|
|
||||||
|
|
||||||
}
|
string webRootParent = Directory.GetParent(_hostingEnvironment.WebRootPath).FullName;
|
||||||
finally
|
string ptMagicRoot = Directory.GetParent(webRootParent).FullName;
|
||||||
{
|
string analyzerStatePath = Path.Combine(ptMagicRoot, "_data", "AnalyzerState");
|
||||||
mutex.ReleaseMutex(); // Always release the mutex
|
if (System.IO.File.Exists(analyzerStatePath))
|
||||||
}
|
{
|
||||||
|
string state = System.IO.File.ReadAllText(analyzerStatePath);
|
||||||
|
return state == "1";
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
// Only release the mutex if this thread owns it.
|
||||||
|
if (ownsMutex)
|
||||||
|
{
|
||||||
|
mutex.ReleaseMutex();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void BindData() {
|
private void BindData() {
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
"GraphIntervalMinutes": 60, // The interval for the monitor market trend graph to draw points in minutes
|
"GraphIntervalMinutes": 60, // The interval for the monitor market trend graph to draw points in minutes
|
||||||
"GraphMaxTimeframeHours": 24, // This will enable you to define the timeframe that your graph for market trends covers in hours
|
"GraphMaxTimeframeHours": 24, // This will enable you to define the timeframe that your graph for market trends covers in hours
|
||||||
"ProfitsMaxTimeframeDays": 30, // This will enable you to define the timeframe for your dashboard profits graph in days
|
"ProfitsMaxTimeframeDays": 30, // This will enable you to define the timeframe for your dashboard profits graph in days
|
||||||
"RefreshSeconds": 30, // The refresh interval of your monitor main page
|
"DashboardChartsRefreshSeconds": 30, // The refresh interval of your dashboard charts in seconds
|
||||||
"BagAnalyzerRefreshSeconds": 60,
|
"BagAnalyzerRefreshSeconds": 60,
|
||||||
"BuyAnalyzerRefreshSeconds": 60,
|
"BuyAnalyzerRefreshSeconds": 60,
|
||||||
"MaxDashboardBuyEntries": 5, // The number of coins in your Possible Buy List on the dashboard. Set to 0 to hide the list completely
|
"MaxDashboardBuyEntries": 5, // The number of coins in your Possible Buy List on the dashboard. Set to 0 to hide the list completely
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
"GraphIntervalMinutes": 60, // The interval for the monitor market trend graph to draw points in minutes
|
"GraphIntervalMinutes": 60, // The interval for the monitor market trend graph to draw points in minutes
|
||||||
"GraphMaxTimeframeHours": 24, // This will enable you to define the timeframe that your graph for market trends covers in hours
|
"GraphMaxTimeframeHours": 24, // This will enable you to define the timeframe that your graph for market trends covers in hours
|
||||||
"ProfitsMaxTimeframeDays": 30, // This will enable you to define the timeframe for your dashboard profits graph in days
|
"ProfitsMaxTimeframeDays": 30, // This will enable you to define the timeframe for your dashboard profits graph in days
|
||||||
"RefreshSeconds": 30, // The refresh interval of your monitor main page
|
"DashboardChartsRefreshSeconds": 30, // The refresh interval of your dashboard charts in seconds
|
||||||
"BagAnalyzerRefreshSeconds": 60,
|
"BagAnalyzerRefreshSeconds": 60,
|
||||||
"BuyAnalyzerRefreshSeconds": 60,
|
"BuyAnalyzerRefreshSeconds": 60,
|
||||||
"MaxDashboardBuyEntries": 5, // The number of coins in your Possible Buy List on the dashboard. Set to 0 to hide the list completely
|
"MaxDashboardBuyEntries": 5, // The number of coins in your Possible Buy List on the dashboard. Set to 0 to hide the list completely
|
||||||
|
|
Loading…
Reference in New Issue