Merge branch 'feature_定时抄读_23_CY' of https://310.jisheyun.com/daizan/JiShe.CollectBus into feature_定时抄读_23_CY
This commit is contained in:
commit
e5487c5206
@ -7,6 +7,7 @@ using JiShe.CollectBus.IotSystems.MeterReadingRecords;
|
||||
using JiShe.CollectBus.Kafka;
|
||||
using JiShe.CollectBus.Protocol;
|
||||
using JiShe.CollectBus.ScheduledMeterReading;
|
||||
using JiShe.CollectBus.Workers;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@ -44,6 +45,8 @@ public class CollectBusApplicationModule : AbpModule
|
||||
context.Services.AddAutoMapperObjectMapper<CollectBusApplicationModule>();
|
||||
Configure<AbpAutoMapperOptions>(options => { options.AddMaps<CollectBusApplicationModule>(true); });
|
||||
|
||||
context.Services.AddHostedService<ScheduledMeterReadingBackGroundWorkService>();
|
||||
|
||||
//context.Services.AddSingleton(new MappingConfiguration()
|
||||
// .Define(new CollectBusMapping()));
|
||||
|
||||
@ -60,13 +63,7 @@ public class CollectBusApplicationModule : AbpModule
|
||||
public override async Task OnApplicationInitializationAsync(
|
||||
ApplicationInitializationContext context)
|
||||
{
|
||||
//var assembly = Assembly.GetExecutingAssembly();
|
||||
//var types = assembly.GetTypes().Where(t => typeof(ICollectWorker).IsAssignableFrom(t) && !t.IsInterface)
|
||||
// .ToList();
|
||||
//foreach (var type in types)
|
||||
//{
|
||||
// await context.AddBackgroundWorkerAsync(type);
|
||||
//}
|
||||
|
||||
|
||||
//下发任务通道构建
|
||||
DataChannelManage.TaskDataChannel = Channel.CreateUnbounded<ValueTuple<string, List<MeterReadingTelemetryPacketInfo>>>();
|
||||
|
||||
@ -33,7 +33,6 @@
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="Mappers\" />
|
||||
<Folder Include="Workers\" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@ -0,0 +1,34 @@
|
||||
using JiShe.CollectBus.Common.WorkService;
|
||||
using JiShe.CollectBus.ScheduledMeterReading;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace JiShe.CollectBus.Workers
|
||||
{
|
||||
/// <summary>
|
||||
/// 定时抄表
|
||||
/// </summary>
|
||||
/// <param name="scheduledMeterReadingService">抄读服务</param>
|
||||
/// <param name="logger"></param>
|
||||
public class ScheduledMeterReadingBackGroundWorkService(IScheduledMeterReadingService scheduledMeterReadingService, ILogger<ScheduledMeterReadingBackGroundWorkService> logger) : SystemBackGroundWorkService(logger)
|
||||
{
|
||||
protected override TimeSpan GetInterval()
|
||||
{
|
||||
// 返回执行间隔时间
|
||||
return TimeSpan.FromSeconds(10);
|
||||
}
|
||||
|
||||
protected override async Task DoWorkAsync(CancellationToken cancellationToken)
|
||||
{
|
||||
// 这里编写具体的后台任务逻辑,例如从数据库中读取数据、发送网络请求等
|
||||
// 这里的逻辑会每隔一段时间执行一次,时间间隔由 GetInterval 方法返回的值决定
|
||||
Logger.LogWarning($"定时抄读后台任务执行中...{DateTime.Now.ToString()}");
|
||||
//await scheduledMeterReadingService.CreateToBeIssueTasks();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -40,11 +40,10 @@ namespace JiShe.CollectBus.Common.WorkService
|
||||
/// <returns></returns>
|
||||
protected abstract TimeSpan GetInterval();
|
||||
|
||||
|
||||
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
||||
{
|
||||
await Task.CompletedTask;// 等待其他任务执行完成,避免阻塞应用程序启动
|
||||
Logger.LogInformation($"任务每隔{interval.TotalSeconds}秒执行一次");
|
||||
// Logger.LogInformation($"任务每隔{interval.TotalSeconds}秒执行一次");
|
||||
await InitAsync(cancellationTokenSource.Token);
|
||||
}
|
||||
|
||||
@ -69,7 +68,7 @@ namespace JiShe.CollectBus.Common.WorkService
|
||||
{
|
||||
Logger.LogInformation("后台服务停止……");
|
||||
cancellationTokenSource.Cancel();
|
||||
return base.StopAsync(cancellationToken);
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user