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)
|
||||
{
|
||||
_ = RunJumpSyncLoopAsync(stoppingToken);
|
||||
|
||||
await _client.ConnectAsync(new MqttClientOptionsBuilder()
|
||||
.WithTcpServer(AppSettings.Mqtt.Host, AppSettings.Mqtt.Port)
|
||||
.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)
|
||||
|
@ -28,6 +28,7 @@ using YD_AllHeartRates.Api.Mqtt;
|
||||
using YD_AllHeartRates.Commons.MemoryCaches;
|
||||
using YD_AllHeartRates.Api.Middlewares;
|
||||
using YD_AllHeartRates.Api.WebSocket;
|
||||
using CSRedis;
|
||||
|
||||
namespace YD_AllHeartRates.Api
|
||||
{
|
||||
@ -74,6 +75,11 @@ namespace YD_AllHeartRates.Api
|
||||
services.AddSingleton(mqttCfg);
|
||||
services.AddSingleton(new MqttFactory().CreateMqttClient());
|
||||
|
||||
//Redis
|
||||
var csredis = new CSRedisClient(AppSettings.RedisConnectionString);
|
||||
RedisHelper.Initialization(csredis);
|
||||
services.AddSingleton<ICaching, RedisCacheService>();
|
||||
|
||||
// ③ 后台批量写库服务
|
||||
services.AddHostedService<MqttBackgroundService>();
|
||||
|
||||
@ -83,8 +89,6 @@ namespace YD_AllHeartRates.Api
|
||||
services.AddScoped<IHeartRateReportService, HeartRateReportService>();
|
||||
services.AddScoped<IDeviceService, DeviceService>();
|
||||
services.AddScoped<IUserService, UserService>();
|
||||
|
||||
services.AddScoped<ICaching, RedisCacheService>();
|
||||
services.AddScoped<LoginContext>();
|
||||
services.AddSession();
|
||||
services.AddMemoryCache();
|
||||
|
@ -10,6 +10,7 @@
|
||||
|
||||
public static string DbConnectionString { get; set; }
|
||||
public static string SmartSportsString { get; set; }
|
||||
public static string RedisConnectionString { get; set; }
|
||||
public static string[] CorsUrls { get; set; }
|
||||
public static MqttConfig Mqtt { get; set; }
|
||||
|
||||
@ -22,6 +23,7 @@
|
||||
FlushTime = configuration["FlushTime"];
|
||||
DbConnectionString = configuration["DbConnectionString"];
|
||||
SmartSportsString = configuration["SmartSportsString"];
|
||||
RedisConnectionString = configuration["RedisConnectionString"];
|
||||
CorsUrls = configuration["CorsUrls"].Split(',');
|
||||
Mqtt = configuration.GetSection("Mqtt").Get<MqttConfig>();
|
||||
}
|
||||
|
@ -28,6 +28,8 @@
|
||||
"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;",
|
||||
"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()
|
||||
{
|
||||
var csredis = new CSRedisClient("8.153.108.90,Password=yd708090,SyncTimeout=15000,defaultDatabase=5");
|
||||
RedisHelper.Initialization(csredis);
|
||||
//var csredis = new CSRedisClient("8.153.108.90,Password=yd708090,SyncTimeout=15000,defaultDatabase=5");
|
||||
//RedisHelper.Initialization(csredis);
|
||||
}
|
||||
/// <summary>
|
||||
/// 验证缓存项是否存在
|
||||
|
Loading…
x
Reference in New Issue
Block a user