解决报错
This commit is contained in:
parent
5b93fd2a96
commit
8334b5ee49
@ -37,18 +37,16 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
private readonly ILogger<BasicScheduledMeterReadingService> _logger;
|
private readonly ILogger<BasicScheduledMeterReadingService> _logger;
|
||||||
private readonly ICapPublisher _capBus;
|
private readonly ICapPublisher _capBus;
|
||||||
private readonly IRepository<ScheduledMeterReadingIssuedEventMessage, Guid> _meterReadingIssuedRepository;
|
private readonly IRepository<ScheduledMeterReadingIssuedEventMessage, Guid> _meterReadingIssuedRepository;
|
||||||
private readonly IUnitOfWorkManager _unitOfWorkManager;
|
|
||||||
|
|
||||||
|
|
||||||
public BasicScheduledMeterReadingService(
|
public BasicScheduledMeterReadingService(
|
||||||
ILogger<BasicScheduledMeterReadingService> logger,
|
ILogger<BasicScheduledMeterReadingService> logger,
|
||||||
ICapPublisher capBus,
|
ICapPublisher capBus,
|
||||||
IRepository<ScheduledMeterReadingIssuedEventMessage, Guid> meterReadingIssuedRepository, IUnitOfWorkManager unitOfWorkManager)
|
IRepository<ScheduledMeterReadingIssuedEventMessage, Guid> meterReadingIssuedRepository)
|
||||||
{
|
{
|
||||||
_capBus = capBus;
|
_capBus = capBus;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_meterReadingIssuedRepository = meterReadingIssuedRepository;
|
_meterReadingIssuedRepository = meterReadingIssuedRepository;
|
||||||
_unitOfWorkManager = unitOfWorkManager;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -81,7 +79,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public virtual async Task CreateToBeIssueTasks()
|
public virtual async Task CreateToBeIssueTasks()
|
||||||
{
|
{
|
||||||
var redisCacheKey = $"{FreeRedisConst.CacheBasicDirectoryKey}{SystemType}:TaskInfo:*";
|
var redisCacheKey = $"{RedisConst.CacheBasicDirectoryKey}{SystemType}:TaskInfo:*";
|
||||||
var taskInfos = await FreeRedisProvider.Instance.KeysAsync(redisCacheKey);
|
var taskInfos = await FreeRedisProvider.Instance.KeysAsync(redisCacheKey);
|
||||||
if (taskInfos == null || taskInfos.Length <= 0)
|
if (taskInfos == null || taskInfos.Length <= 0)
|
||||||
{
|
{
|
||||||
@ -104,7 +102,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
string timeDensity = tempArryay[4];//采集频率
|
string timeDensity = tempArryay[4];//采集频率
|
||||||
|
|
||||||
//获取缓存中的电表信息
|
//获取缓存中的电表信息
|
||||||
var redisKeyList = $"{string.Format(FreeRedisConst.CacheMeterInfoKey, SystemType, meteryType, timeDensity)}*";
|
var redisKeyList = $"{string.Format(RedisConst.CacheMeterInfoKey, SystemType, meteryType, timeDensity)}*";
|
||||||
var oneMinutekeyList = await FreeRedisProvider.Instance.KeysAsync(redisKeyList);
|
var oneMinutekeyList = await FreeRedisProvider.Instance.KeysAsync(redisKeyList);
|
||||||
if (oneMinutekeyList == null || oneMinutekeyList.Length <= 0)
|
if (oneMinutekeyList == null || oneMinutekeyList.Length <= 0)
|
||||||
{
|
{
|
||||||
@ -185,7 +183,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
var redisCacheKey = $"{string.Format(FreeRedisConst.CacheMeterInfoKey, SystemType, MeterTypeEnum.Ammeter, itemTimeDensity.Key)}{item.Key}";
|
var redisCacheKey = $"{string.Format(RedisConst.CacheMeterInfoKey, SystemType, MeterTypeEnum.Ammeter, itemTimeDensity.Key)}{item.Key}";
|
||||||
|
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
//每次缓存时,删除缓存,避免缓存数据错误
|
//每次缓存时,删除缓存,避免缓存数据错误
|
||||||
@ -252,7 +250,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
NextTask = DateTime.Now.AddMinutes(1)
|
NextTask = DateTime.Now.AddMinutes(1)
|
||||||
};
|
};
|
||||||
|
|
||||||
var taskRedisCacheKey = string.Format(FreeRedisConst.CacheTasksToBeIssuedKey, SystemType, MeterTypeEnum.Ammeter, itemTimeDensity.Key);
|
var taskRedisCacheKey = string.Format(RedisConst.CacheTasksToBeIssuedKey, SystemType, MeterTypeEnum.Ammeter, itemTimeDensity.Key);
|
||||||
await FreeRedisProvider.Instance.SetAsync(taskRedisCacheKey, nextTask);
|
await FreeRedisProvider.Instance.SetAsync(taskRedisCacheKey, nextTask);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -267,7 +265,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
{
|
{
|
||||||
//获取缓存中的电表信息
|
//获取缓存中的电表信息
|
||||||
int timeDensity = 5;
|
int timeDensity = 5;
|
||||||
var redisKeyList = $"{string.Format(FreeRedisConst.CacheTelemetryPacketInfoKey, SystemType, MeterTypeEnum.Ammeter, timeDensity)}*";
|
var redisKeyList = $"{string.Format(RedisConst.CacheTelemetryPacketInfoKey, SystemType, MeterTypeEnum.Ammeter, timeDensity)}*";
|
||||||
var oneMinutekeyList = await FreeRedisProvider.Instance.KeysAsync(redisKeyList);
|
var oneMinutekeyList = await FreeRedisProvider.Instance.KeysAsync(redisKeyList);
|
||||||
if (oneMinutekeyList == null || oneMinutekeyList.Length <= 0)
|
if (oneMinutekeyList == null || oneMinutekeyList.Length <= 0)
|
||||||
{
|
{
|
||||||
@ -306,7 +304,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
NextTask = DateTime.Now.AddMinutes(timeDensity)
|
NextTask = DateTime.Now.AddMinutes(timeDensity)
|
||||||
};
|
};
|
||||||
|
|
||||||
var redisCacheKey = string.Format(FreeRedisConst.CacheTasksToBeIssuedKey, SystemType, MeterTypeEnum.Ammeter, timeDensity);
|
var redisCacheKey = string.Format(RedisConst.CacheTasksToBeIssuedKey, SystemType, MeterTypeEnum.Ammeter, timeDensity);
|
||||||
await FreeRedisProvider.Instance.SetAsync(redisCacheKey, nextTask);
|
await FreeRedisProvider.Instance.SetAsync(redisCacheKey, nextTask);
|
||||||
|
|
||||||
_logger.LogInformation($"{nameof(AmmeterScheduledMeterOneMinuteReading)} {timeDensity}分钟采集电表数据处理完成");
|
_logger.LogInformation($"{nameof(AmmeterScheduledMeterOneMinuteReading)} {timeDensity}分钟采集电表数据处理完成");
|
||||||
@ -321,7 +319,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
{
|
{
|
||||||
//获取缓存中的电表信息
|
//获取缓存中的电表信息
|
||||||
int timeDensity = 5;
|
int timeDensity = 5;
|
||||||
var redisKeyList = $"{string.Format(FreeRedisConst.CacheTelemetryPacketInfoKey, SystemType, MeterTypeEnum.Ammeter, timeDensity)}*";
|
var redisKeyList = $"{string.Format(RedisConst.CacheTelemetryPacketInfoKey, SystemType, MeterTypeEnum.Ammeter, timeDensity)}*";
|
||||||
var oneMinutekeyList = await FreeRedisProvider.Instance.KeysAsync(redisKeyList);
|
var oneMinutekeyList = await FreeRedisProvider.Instance.KeysAsync(redisKeyList);
|
||||||
if (oneMinutekeyList == null || oneMinutekeyList.Length <= 0)
|
if (oneMinutekeyList == null || oneMinutekeyList.Length <= 0)
|
||||||
{
|
{
|
||||||
@ -360,7 +358,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
NextTask = DateTime.Now.AddMinutes(timeDensity)
|
NextTask = DateTime.Now.AddMinutes(timeDensity)
|
||||||
};
|
};
|
||||||
|
|
||||||
var redisCacheKey = string.Format(FreeRedisConst.CacheTasksToBeIssuedKey, SystemType, MeterTypeEnum.Ammeter, timeDensity);
|
var redisCacheKey = string.Format(RedisConst.CacheTasksToBeIssuedKey, SystemType, MeterTypeEnum.Ammeter, timeDensity);
|
||||||
await FreeRedisProvider.Instance.SetAsync(redisCacheKey, nextTask);
|
await FreeRedisProvider.Instance.SetAsync(redisCacheKey, nextTask);
|
||||||
|
|
||||||
_logger.LogInformation($"{nameof(AmmeterScheduledMeterFiveMinuteReading)} {timeDensity}分钟采集电表数据处理完成");
|
_logger.LogInformation($"{nameof(AmmeterScheduledMeterFiveMinuteReading)} {timeDensity}分钟采集电表数据处理完成");
|
||||||
@ -377,7 +375,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
|
|
||||||
//获取缓存中的电表信息
|
//获取缓存中的电表信息
|
||||||
int timeDensity = 15;
|
int timeDensity = 15;
|
||||||
var redisKeyList = $"{string.Format(FreeRedisConst.CacheTelemetryPacketInfoKey, SystemType, MeterTypeEnum.Ammeter, timeDensity)}*";
|
var redisKeyList = $"{string.Format(RedisConst.CacheTelemetryPacketInfoKey, SystemType, MeterTypeEnum.Ammeter, timeDensity)}*";
|
||||||
var oneMinutekeyList = await FreeRedisProvider.Instance.KeysAsync(redisKeyList);
|
var oneMinutekeyList = await FreeRedisProvider.Instance.KeysAsync(redisKeyList);
|
||||||
if (oneMinutekeyList == null || oneMinutekeyList.Length <= 0)
|
if (oneMinutekeyList == null || oneMinutekeyList.Length <= 0)
|
||||||
{
|
{
|
||||||
@ -419,7 +417,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
NextTask = DateTime.Now.AddMinutes(timeDensity)
|
NextTask = DateTime.Now.AddMinutes(timeDensity)
|
||||||
};
|
};
|
||||||
|
|
||||||
var redisCacheKey = string.Format(FreeRedisConst.CacheTasksToBeIssuedKey, SystemType, MeterTypeEnum.Ammeter, timeDensity);
|
var redisCacheKey = string.Format(RedisConst.CacheTasksToBeIssuedKey, SystemType, MeterTypeEnum.Ammeter, timeDensity);
|
||||||
await FreeRedisProvider.Instance.SetAsync(redisCacheKey, nextTask);
|
await FreeRedisProvider.Instance.SetAsync(redisCacheKey, nextTask);
|
||||||
|
|
||||||
stopwatch.Stop();
|
stopwatch.Stop();
|
||||||
@ -502,7 +500,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
foreach (var focusInfo in focusGroup)
|
foreach (var focusInfo in focusGroup)
|
||||||
{
|
{
|
||||||
//构建缓存任务key,依然 表计类型+采集频率+集中器地址,存hash类型
|
//构建缓存任务key,依然 表计类型+采集频率+集中器地址,存hash类型
|
||||||
var redisCacheKey = $"{string.Format(FreeRedisConst.CacheTelemetryPacketInfoKey, SystemType, MeterTypeEnum.Ammeter, timeDensity)}{focusInfo.Key}";
|
var redisCacheKey = $"{string.Format(RedisConst.CacheTelemetryPacketInfoKey, SystemType, MeterTypeEnum.Ammeter, timeDensity)}{focusInfo.Key}";
|
||||||
|
|
||||||
foreach (var ammeterInfo in focusInfo.Value)
|
foreach (var ammeterInfo in focusInfo.Value)
|
||||||
{
|
{
|
||||||
@ -703,7 +701,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
var redisCacheKey = $"{string.Format(FreeRedisConst.CacheMeterInfoKey, SystemType, MeterTypeEnum.WaterMeter, itemTimeDensity.Key)}{item.Key}";
|
var redisCacheKey = $"{string.Format(RedisConst.CacheMeterInfoKey, SystemType, MeterTypeEnum.WaterMeter, itemTimeDensity.Key)}{item.Key}";
|
||||||
Dictionary<string, WatermeterInfo> keyValuePairs = new Dictionary<string, WatermeterInfo>();
|
Dictionary<string, WatermeterInfo> keyValuePairs = new Dictionary<string, WatermeterInfo>();
|
||||||
foreach (var subItem in item)
|
foreach (var subItem in item)
|
||||||
{
|
{
|
||||||
@ -720,7 +718,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
NextTask = DateTime.Now.AddMinutes(1)
|
NextTask = DateTime.Now.AddMinutes(1)
|
||||||
};
|
};
|
||||||
|
|
||||||
var taskRedisCacheKey = string.Format(FreeRedisConst.CacheTasksToBeIssuedKey, SystemType, MeterTypeEnum.WaterMeter, itemTimeDensity.Key);
|
var taskRedisCacheKey = string.Format(RedisConst.CacheTasksToBeIssuedKey, SystemType, MeterTypeEnum.WaterMeter, itemTimeDensity.Key);
|
||||||
await FreeRedisProvider.Instance.SetAsync(taskRedisCacheKey, nextTask);
|
await FreeRedisProvider.Instance.SetAsync(taskRedisCacheKey, nextTask);
|
||||||
}
|
}
|
||||||
_logger.LogInformation($"{nameof(InitAmmeterCacheData)} 初始化水表缓存数据完成");
|
_logger.LogInformation($"{nameof(InitAmmeterCacheData)} 初始化水表缓存数据完成");
|
||||||
@ -734,7 +732,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
{
|
{
|
||||||
//获取缓存中的水表信息
|
//获取缓存中的水表信息
|
||||||
int timeDensity = 5;
|
int timeDensity = 5;
|
||||||
var redisKeyList = $"{string.Format(FreeRedisConst.CacheTelemetryPacketInfoKey, SystemType, MeterTypeEnum.WaterMeter, timeDensity)}*";
|
var redisKeyList = $"{string.Format(RedisConst.CacheTelemetryPacketInfoKey, SystemType, MeterTypeEnum.WaterMeter, timeDensity)}*";
|
||||||
var oneMinutekeyList = await FreeRedisProvider.Instance.KeysAsync(redisKeyList);
|
var oneMinutekeyList = await FreeRedisProvider.Instance.KeysAsync(redisKeyList);
|
||||||
if (oneMinutekeyList == null || oneMinutekeyList.Length <= 0)
|
if (oneMinutekeyList == null || oneMinutekeyList.Length <= 0)
|
||||||
{
|
{
|
||||||
@ -773,7 +771,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
NextTask = DateTime.Now.AddMinutes(timeDensity)
|
NextTask = DateTime.Now.AddMinutes(timeDensity)
|
||||||
};
|
};
|
||||||
|
|
||||||
var redisCacheKey = string.Format(FreeRedisConst.CacheTasksToBeIssuedKey, SystemType, MeterTypeEnum.WaterMeter, timeDensity);
|
var redisCacheKey = string.Format(RedisConst.CacheTasksToBeIssuedKey, SystemType, MeterTypeEnum.WaterMeter, timeDensity);
|
||||||
await FreeRedisProvider.Instance.SetAsync(redisCacheKey, nextTask);
|
await FreeRedisProvider.Instance.SetAsync(redisCacheKey, nextTask);
|
||||||
|
|
||||||
|
|
||||||
@ -789,7 +787,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
|
|
||||||
//获取缓存中的电表信息
|
//获取缓存中的电表信息
|
||||||
int timeDensity = 5;
|
int timeDensity = 5;
|
||||||
var redisKeyList = $"{string.Format(FreeRedisConst.CacheTelemetryPacketInfoKey, SystemType, MeterTypeEnum.WaterMeter, timeDensity)}*";
|
var redisKeyList = $"{string.Format(RedisConst.CacheTelemetryPacketInfoKey, SystemType, MeterTypeEnum.WaterMeter, timeDensity)}*";
|
||||||
var oneMinutekeyList = await FreeRedisProvider.Instance.KeysAsync(redisKeyList);
|
var oneMinutekeyList = await FreeRedisProvider.Instance.KeysAsync(redisKeyList);
|
||||||
if (oneMinutekeyList == null || oneMinutekeyList.Length <= 0)
|
if (oneMinutekeyList == null || oneMinutekeyList.Length <= 0)
|
||||||
{
|
{
|
||||||
@ -828,7 +826,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
NextTask = DateTime.Now.AddMinutes(timeDensity)
|
NextTask = DateTime.Now.AddMinutes(timeDensity)
|
||||||
};
|
};
|
||||||
|
|
||||||
var redisCacheKey = string.Format(FreeRedisConst.CacheTasksToBeIssuedKey, SystemType, MeterTypeEnum.WaterMeter, timeDensity);
|
var redisCacheKey = string.Format(RedisConst.CacheTasksToBeIssuedKey, SystemType, MeterTypeEnum.WaterMeter, timeDensity);
|
||||||
await FreeRedisProvider.Instance.SetAsync(redisCacheKey, nextTask);
|
await FreeRedisProvider.Instance.SetAsync(redisCacheKey, nextTask);
|
||||||
|
|
||||||
|
|
||||||
@ -843,7 +841,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
{
|
{
|
||||||
//获取缓存中的电表信息
|
//获取缓存中的电表信息
|
||||||
int timeDensity = 15;
|
int timeDensity = 15;
|
||||||
var redisKeyList = $"{string.Format(FreeRedisConst.CacheTelemetryPacketInfoKey, SystemType, MeterTypeEnum.WaterMeter, timeDensity)}*";
|
var redisKeyList = $"{string.Format(RedisConst.CacheTelemetryPacketInfoKey, SystemType, MeterTypeEnum.WaterMeter, timeDensity)}*";
|
||||||
var oneMinutekeyList = await FreeRedisProvider.Instance.KeysAsync(redisKeyList);
|
var oneMinutekeyList = await FreeRedisProvider.Instance.KeysAsync(redisKeyList);
|
||||||
if (oneMinutekeyList == null || oneMinutekeyList.Length <= 0)
|
if (oneMinutekeyList == null || oneMinutekeyList.Length <= 0)
|
||||||
{
|
{
|
||||||
@ -882,7 +880,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
NextTask = DateTime.Now.AddMinutes(timeDensity)
|
NextTask = DateTime.Now.AddMinutes(timeDensity)
|
||||||
};
|
};
|
||||||
|
|
||||||
var redisCacheKey = string.Format(FreeRedisConst.CacheTasksToBeIssuedKey, SystemType, MeterTypeEnum.WaterMeter, timeDensity);
|
var redisCacheKey = string.Format(RedisConst.CacheTasksToBeIssuedKey, SystemType, MeterTypeEnum.WaterMeter, timeDensity);
|
||||||
await FreeRedisProvider.Instance.SetAsync(redisCacheKey, nextTask);
|
await FreeRedisProvider.Instance.SetAsync(redisCacheKey, nextTask);
|
||||||
|
|
||||||
|
|
||||||
@ -925,7 +923,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
{
|
{
|
||||||
string key = (string)item[0];//集中器地址对应的Redis缓存Key
|
string key = (string)item[0];//集中器地址对应的Redis缓存Key
|
||||||
object[] fieldsAndValues = (object[])item[1];//缓存Key对应的Hash表数据集合
|
object[] fieldsAndValues = (object[])item[1];//缓存Key对应的Hash表数据集合
|
||||||
var redisCacheKey = $"{string.Format(FreeRedisConst.CacheMeterInfoKey, SystemType, meterType, timeDensity)}";
|
var redisCacheKey = $"{string.Format(RedisConst.CacheMeterInfoKey, SystemType, meterType, timeDensity)}";
|
||||||
string focusAddress = key.Replace(redisCacheKey, "");//集中器地址
|
string focusAddress = key.Replace(redisCacheKey, "");//集中器地址
|
||||||
|
|
||||||
var meterHashs = new Dictionary<string, T>();
|
var meterHashs = new Dictionary<string, T>();
|
||||||
|
|||||||
@ -25,8 +25,7 @@ namespace JiShe.CollectBus.ScheduledMeterReading
|
|||||||
|
|
||||||
public EnergySystemScheduledMeterReadingService(ILogger<EnergySystemScheduledMeterReadingService> logger,
|
public EnergySystemScheduledMeterReadingService(ILogger<EnergySystemScheduledMeterReadingService> logger,
|
||||||
ICapPublisher capBus,
|
ICapPublisher capBus,
|
||||||
IRepository<ScheduledMeterReadingIssuedEventMessage, Guid> meterReadingIssuedRepository,
|
IRepository<ScheduledMeterReadingIssuedEventMessage, Guid> meterReadingIssuedRepository) :base(logger, capBus, meterReadingIssuedRepository)
|
||||||
IUnitOfWorkManager unitOfWorkManager) :base(logger, capBus, meterReadingIssuedRepository, unitOfWorkManager)
|
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -42,5 +42,7 @@ namespace JiShe.CollectBus.Common.Consts
|
|||||||
/// 缓存表计下发指令数据集,{0}=>系统类型,{1}=>表计类别,{2}=>采集频率
|
/// 缓存表计下发指令数据集,{0}=>系统类型,{1}=>表计类别,{2}=>采集频率
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const string CacheTelemetryPacketInfoKey = $"{CacheBasicDirectoryKey}{"{0}"}:TelemetryPacket:{"{1}"}:{"{2}"}:";
|
public const string CacheTelemetryPacketInfoKey = $"{CacheBasicDirectoryKey}{"{0}"}:TelemetryPacket:{"{1}"}:{"{2}"}:";
|
||||||
|
|
||||||
|
public const string CacheAmmeterFocusKey = "CacheAmmeterFocusKey";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user