Job repeat immediately after job complete

This commit is contained in:
luosheng
2023-07-15 16:38:23 +08:00
parent d1240e73fb
commit 96a8b21ae4
4 changed files with 88 additions and 12 deletions

View File

@@ -13,7 +13,7 @@ namespace MachineJob.Service
_logger = logger;
}
protected override Task ExecuteAsync(CancellationToken stoppingToken)
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
//1. 直接Coding
//List<AddressUnit> _addresses = new List<AddressUnit>
@@ -61,10 +61,18 @@ namespace MachineJob.Service
//}
//4. 使用MultipleMachinesJobScheduler
return Task.Run(() => MultipleMachinesJobScheduler.RunScheduler(machines, async (machine, scheduler) =>
//return Task.Run(() => MultipleMachinesJobScheduler.RunScheduler(machines, async (machine, scheduler) =>
//{
// /await scheduler.From(machine.Id + ".From", machine, MachineDataType.Name).Result.Query(machine.Id + ".ConsoleQuery", QueryConsole).Result.To(machine.Id + ".To", machine).Result.Deal(machine.Id + ".Deal", OnSuccess, OnFailure).Result.Run();
//}, -1, 10));
//5. 不设置固定时间连续触发Job
foreach (var machine in machines)
{
await scheduler.From(machine.Id + ".From", machine, MachineDataType.Name).Result.Query(machine.Id + ".ConsoleQuery", QueryConsole).Result.To(machine.Id + ".To", machine).Result.Deal(machine.Id + ".Deal", OnSuccess, OnFailure).Result.Run();
}, -1, 10));
var scheduler = await MachineJobSchedulerCreator<IMachineMethodDatas, string, double>.CreateScheduler(machine.Id, 0, 0);
var job = scheduler.From(machine.Id + ".From", machine, MachineDataType.Name).Result.Query(machine.Id + ".ConsoleQuery", QueryConsole).Result.To(machine.Id + ".To", machine).Result.Deal(machine.Id + ".Deal", OnSuccess, OnFailure).Result;
await job.Run();
}
}
public override Task StopAsync(CancellationToken cancellationToken)