68 lines
2.4 KiB
C#
68 lines
2.4 KiB
C#
using System.Text;
|
|
using Common;
|
|
using NLog;
|
|
|
|
namespace IotManager.services
|
|
{
|
|
public class MyTimer : BackgroundService
|
|
{
|
|
public System.Timers.Timer jiankong_timer = null;
|
|
public MyTimer()
|
|
{
|
|
|
|
}
|
|
protected override Task ExecuteAsync(CancellationToken stoppingToken)
|
|
{
|
|
jiankong_timer = new System.Timers.Timer();
|
|
jiankong_timer.Interval = 60000;
|
|
jiankong_timer.Elapsed += Jiankong_timer_Elapsed;
|
|
jiankong_timer.Start();
|
|
return Task.CompletedTask;
|
|
}
|
|
public static Logger logger = LogManager.GetCurrentClassLogger();
|
|
private void Jiankong_timer_Elapsed(object? sender, System.Timers.ElapsedEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
var df = Grafana.data;
|
|
|
|
string NewStringData = Grafana.Data;
|
|
NewStringData = NewStringData.Replace("{1}", df.device_id)
|
|
.Replace("{2}", df.device_status)
|
|
.Replace("{3}", df.realtime_value)
|
|
.Replace("{4}", df.environment_value)
|
|
.Replace("{5}", df.mcu_temperature)
|
|
.Replace("{6}", df.sensor_temperature)
|
|
.Replace("{7}", df.sensor_humidity)
|
|
.Replace("{8}", df.adc_raw_value);
|
|
|
|
|
|
WanBuJianKong(NewStringData, "1.txt");
|
|
File.WriteAllText("2.txt", NewStringData, Encoding.UTF8);
|
|
Console.WriteLine("here");
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Console.WriteLine(ex.Message);
|
|
Console.WriteLine(ex.StackTrace);
|
|
logger.Error(ex.Message);
|
|
logger.Error(ex.StackTrace);
|
|
}
|
|
}
|
|
|
|
|
|
public static void WanBuJianKong(string Data, string SourceTxt)
|
|
{
|
|
System.IO.File.WriteAllText(SourceTxt, Data, Encoding.UTF8);
|
|
// 如果目标文件存在,先删除
|
|
if (System.IO.File.Exists(Grafana.WaiBuJianKongTargetFileName))
|
|
{
|
|
System.IO.File.Delete(Grafana.WaiBuJianKongTargetFileName);
|
|
}
|
|
|
|
// 重命名/移动文件
|
|
System.IO.File.Move(SourceTxt, Grafana.WaiBuJianKongTargetFileName);
|
|
}
|
|
}
|
|
}
|