dd
This commit is contained in:
parent
3836930a63
commit
c9c3a65bfb
@ -80,6 +80,8 @@ namespace YD_AllHeartRates.Api.Mqtt
|
|||||||
|
|
||||||
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
||||||
{
|
{
|
||||||
|
_ = RunJumpSyncLoopAsync(stoppingToken);
|
||||||
|
|
||||||
await _client.ConnectAsync(new MqttClientOptionsBuilder()
|
await _client.ConnectAsync(new MqttClientOptionsBuilder()
|
||||||
.WithTcpServer(AppSettings.Mqtt.Host, AppSettings.Mqtt.Port)
|
.WithTcpServer(AppSettings.Mqtt.Host, AppSettings.Mqtt.Port)
|
||||||
.Build(), stoppingToken);
|
.Build(), stoppingToken);
|
||||||
@ -291,6 +293,33 @@ namespace YD_AllHeartRates.Api.Mqtt
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
private async Task RunJumpSyncLoopAsync(CancellationToken token)
|
||||||
|
{
|
||||||
|
while (!token.IsCancellationRequested)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
await SyncTodayJumpDataToDbAsync();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_log.LogError(ex, "跳绳数据同步异常");
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
await Task.Delay(TimeSpan.FromSeconds(10), token);
|
||||||
|
}
|
||||||
|
catch (TaskCanceledException)
|
||||||
|
{
|
||||||
|
// 如果是取消任务导致 delay 中断,直接退出
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_log.LogInformation("跳绳数据同步任务已退出");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private byte[]? ParseHexData(string hex)
|
private byte[]? ParseHexData(string hex)
|
||||||
|
@ -28,6 +28,7 @@ using YD_AllHeartRates.Api.Mqtt;
|
|||||||
using YD_AllHeartRates.Commons.MemoryCaches;
|
using YD_AllHeartRates.Commons.MemoryCaches;
|
||||||
using YD_AllHeartRates.Api.Middlewares;
|
using YD_AllHeartRates.Api.Middlewares;
|
||||||
using YD_AllHeartRates.Api.WebSocket;
|
using YD_AllHeartRates.Api.WebSocket;
|
||||||
|
using CSRedis;
|
||||||
|
|
||||||
namespace YD_AllHeartRates.Api
|
namespace YD_AllHeartRates.Api
|
||||||
{
|
{
|
||||||
@ -74,6 +75,11 @@ namespace YD_AllHeartRates.Api
|
|||||||
services.AddSingleton(mqttCfg);
|
services.AddSingleton(mqttCfg);
|
||||||
services.AddSingleton(new MqttFactory().CreateMqttClient());
|
services.AddSingleton(new MqttFactory().CreateMqttClient());
|
||||||
|
|
||||||
|
//Redis
|
||||||
|
var csredis = new CSRedisClient(AppSettings.RedisConnectionString);
|
||||||
|
RedisHelper.Initialization(csredis);
|
||||||
|
services.AddSingleton<ICaching, RedisCacheService>();
|
||||||
|
|
||||||
// ③ 后台批量写库服务
|
// ③ 后台批量写库服务
|
||||||
services.AddHostedService<MqttBackgroundService>();
|
services.AddHostedService<MqttBackgroundService>();
|
||||||
|
|
||||||
@ -83,8 +89,6 @@ namespace YD_AllHeartRates.Api
|
|||||||
services.AddScoped<IHeartRateReportService, HeartRateReportService>();
|
services.AddScoped<IHeartRateReportService, HeartRateReportService>();
|
||||||
services.AddScoped<IDeviceService, DeviceService>();
|
services.AddScoped<IDeviceService, DeviceService>();
|
||||||
services.AddScoped<IUserService, UserService>();
|
services.AddScoped<IUserService, UserService>();
|
||||||
|
|
||||||
services.AddScoped<ICaching, RedisCacheService>();
|
|
||||||
services.AddScoped<LoginContext>();
|
services.AddScoped<LoginContext>();
|
||||||
services.AddSession();
|
services.AddSession();
|
||||||
services.AddMemoryCache();
|
services.AddMemoryCache();
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
|
|
||||||
public static string DbConnectionString { get; set; }
|
public static string DbConnectionString { get; set; }
|
||||||
public static string SmartSportsString { get; set; }
|
public static string SmartSportsString { get; set; }
|
||||||
|
public static string RedisConnectionString { get; set; }
|
||||||
public static string[] CorsUrls { get; set; }
|
public static string[] CorsUrls { get; set; }
|
||||||
public static MqttConfig Mqtt { get; set; }
|
public static MqttConfig Mqtt { get; set; }
|
||||||
|
|
||||||
@ -22,6 +23,7 @@
|
|||||||
FlushTime = configuration["FlushTime"];
|
FlushTime = configuration["FlushTime"];
|
||||||
DbConnectionString = configuration["DbConnectionString"];
|
DbConnectionString = configuration["DbConnectionString"];
|
||||||
SmartSportsString = configuration["SmartSportsString"];
|
SmartSportsString = configuration["SmartSportsString"];
|
||||||
|
RedisConnectionString = configuration["RedisConnectionString"];
|
||||||
CorsUrls = configuration["CorsUrls"].Split(',');
|
CorsUrls = configuration["CorsUrls"].Split(',');
|
||||||
Mqtt = configuration.GetSection("Mqtt").Get<MqttConfig>();
|
Mqtt = configuration.GetSection("Mqtt").Get<MqttConfig>();
|
||||||
}
|
}
|
||||||
|
@ -28,6 +28,8 @@
|
|||||||
"AppUrls": {
|
"AppUrls": {
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"RedisConnectionString": "8.153.108.90,Password=yd708090,SyncTimeout=15000,defaultDatabase=5",
|
||||||
|
|
||||||
"DbConnectionString": " Data Source=rm-uf64b8oxdt19pfyxfao.sqlserver.rds.aliyuncs.com;Database=AllHeartRatesDB_QA;User ID=qa;Password=Admin@123;Connect Timeout=500;",
|
"DbConnectionString": " Data Source=rm-uf64b8oxdt19pfyxfao.sqlserver.rds.aliyuncs.com;Database=AllHeartRatesDB_QA;User ID=qa;Password=Admin@123;Connect Timeout=500;",
|
||||||
"SmartSportsString": " Data Source=rm-uf64b8oxdt19pfyxfao.sqlserver.rds.aliyuncs.com;Database=SmartSportsServerDB_QA;User ID=qa;Password=Admin@123;Connect Timeout=500;",
|
"SmartSportsString": " Data Source=rm-uf64b8oxdt19pfyxfao.sqlserver.rds.aliyuncs.com;Database=SmartSportsServerDB_QA;User ID=qa;Password=Admin@123;Connect Timeout=500;",
|
||||||
|
|
||||||
|
@ -15,8 +15,8 @@ namespace YD_AllHeartRates.Commons.MemoryCaches
|
|||||||
{
|
{
|
||||||
public RedisCacheService()
|
public RedisCacheService()
|
||||||
{
|
{
|
||||||
var csredis = new CSRedisClient("8.153.108.90,Password=yd708090,SyncTimeout=15000,defaultDatabase=5");
|
//var csredis = new CSRedisClient("8.153.108.90,Password=yd708090,SyncTimeout=15000,defaultDatabase=5");
|
||||||
RedisHelper.Initialization(csredis);
|
//RedisHelper.Initialization(csredis);
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 验证缓存项是否存在
|
/// 验证缓存项是否存在
|
||||||
|
Loading…
x
Reference in New Issue
Block a user