feat(master): логика присвоения истории агента нарядам. Изменение статуса наряда. Отправка в MQ.

This commit is contained in:
Mikhail Trubnikov
2023-11-15 16:34:28 +10:00
parent c4c8b748f0
commit 6e4035cde1
8 changed files with 237 additions and 8 deletions

View File

@@ -1,4 +1,6 @@
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using PARR.Master.Services;
using PARR.Master.Settings;
namespace PARR.Master
@@ -7,14 +9,17 @@ namespace PARR.Master
{
private readonly WorkerSettings settings;
private readonly ILogger<Master> logger;
private readonly IServiceProvider serviceProvider;
public Master(
WorkerSettings settings,
ILogger<Master> logger
ILogger<Master> logger,
IServiceProvider serviceProvider
)
{
this.settings = settings;
this.logger = logger;
this.serviceProvider = serviceProvider;
}
@@ -30,8 +35,7 @@ namespace PARR.Master
{
logger.LogInformation("Запуск по расписанию.");
//todo:
// await Tratata();
await ManageOrdersAsync();
nextStart = DateTime.Now.Add(settings.RepeatEvery);
logger.LogInformation($"Следующая дата запуска: {nextStart}");
@@ -41,5 +45,19 @@ namespace PARR.Master
await Task.Delay(60 * 1000);
}
}
private async Task ManageOrdersAsync()
{
using (var scope = serviceProvider.CreateScope())
{
var orderMasterService = scope.ServiceProvider.GetService<IOrderMasterService>();
if (orderMasterService == null)
throw new Exception("Не смог получить серивс IOrderMasterService, scope.ServiceProvider.GetService<IOrderMasterService>()");
await orderMasterService.ManageOrdersAsync();
}
}
}
}