心跳、读缓存调整
This commit is contained in:
@@ -9,7 +9,9 @@ using JNPF.Logging;
|
||||
using JNPF.Systems.Entitys.System;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NPOI.OpenXmlFormats.Dml.Diagram;
|
||||
using NPOI.SS.Format;
|
||||
using Tnb.Common.Extension;
|
||||
using Tnb.Common.Utils;
|
||||
using Tnb.WarehouseMgr.Entities.Configs;
|
||||
@@ -32,14 +34,19 @@ namespace Tnb.WarehouseMgr
|
||||
private readonly IHostApplicationLifetime _lifeTime;
|
||||
private List<string> s_heartbeatDevNames = new();
|
||||
//private static Dictionary<string, Func<CancellationToken?, Task>> _timedFuncMap = new(StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
public static Dictionary<string, bool> elevatorStatus = new Dictionary<string, bool>();
|
||||
public TimedTaskBackgroundService()
|
||||
{
|
||||
s_heartbeatDevNames = _elevatorControlConfiguration.HeartbeatDevNames;
|
||||
if (elevatorStatus.Count == 0)
|
||||
foreach (var devName in s_heartbeatDevNames)
|
||||
elevatorStatus.Add(devName, false);
|
||||
}
|
||||
|
||||
protected override Task ExecuteAsync(CancellationToken stoppingToken)
|
||||
{
|
||||
IsStarted = true;
|
||||
s_heartbeatDevNames = _elevatorControlConfiguration.HeartbeatDevNames;
|
||||
Task timedTask = Task.Run(() =>
|
||||
{
|
||||
_eventPublisher = App.GetRequiredService<IEventPublisher>();
|
||||
@@ -56,12 +63,23 @@ namespace Tnb.WarehouseMgr
|
||||
["token"] = _elevatorControlConfiguration.token
|
||||
};
|
||||
Log.Information($"{devName.Match(@"\d+")}#梯, 心跳检测");
|
||||
string result = await HttpClientHelper.GetAsync(_elevatorControlConfiguration.WriteTagUrl, pars: parameter);
|
||||
Log.Information($"{devName.Match(@"\d+")}#梯, 心跳检测结果:{result}");
|
||||
|
||||
//var result = await RedisHelper.HSetAsync(devName, ElevatorConsts.AGVKeepalive, "123");
|
||||
await Console.Out.WriteLineAsync($"{devName.Match(@"\d+")}#梯, 心跳检测结果:{result}");
|
||||
try
|
||||
{
|
||||
string result = await HttpClientHelper.GetAsync(_elevatorControlConfiguration.WriteTagUrl, pars: parameter);
|
||||
Log.Information($"{devName.Match(@"\d+")}#梯, 心跳检测结果:{result}");
|
||||
JObject resObj = JObject.Parse(result);
|
||||
elevatorStatus[devName] = resObj["Result"].ToString() == "Ok";
|
||||
//var result = await RedisHelper.HSetAsync(devName, ElevatorConsts.AGVKeepalive, "123");
|
||||
await Console.Out.WriteLineAsync($"{devName.Match(@"\d+")}#梯, 心跳检测结果:{result}");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Error($"{devName.Match(@"\d+")}#梯, 心跳检测结果:{ex.Message}");
|
||||
elevatorStatus[devName] = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}, stoppingToken, 30);
|
||||
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user