feat(bll): IntervalService - сервис для функций которые нужно выполнить в интервале, применена к Master, EsppOrderLoader.
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using PARR.BLL.Services.Interfaces;
|
||||
using PARR.DAL.Contracts;
|
||||
using PARR.EsppApi;
|
||||
using PARR.EsppApi.Models;
|
||||
@@ -16,13 +17,15 @@ namespace PARR.EsppOrderLoader
|
||||
private readonly IEsppApiService esppApiService;
|
||||
private readonly SettingsFromDb settingsFromDb;
|
||||
private readonly IServiceProvider serviceProvider;
|
||||
private readonly IIntervalService intervalService;
|
||||
|
||||
public EsppOrderLoader(
|
||||
WorkerSettings settings,
|
||||
ILogger<EsppOrderLoader> logger,
|
||||
IEsppApiService esppApiService,
|
||||
SettingsFromDb settingsFromDb,
|
||||
IServiceProvider serviceProvider
|
||||
IServiceProvider serviceProvider,
|
||||
IIntervalService intervalService
|
||||
)
|
||||
{
|
||||
this.settings = settings;
|
||||
@@ -30,6 +33,7 @@ namespace PARR.EsppOrderLoader
|
||||
this.esppApiService = esppApiService;
|
||||
this.settingsFromDb = settingsFromDb;
|
||||
this.serviceProvider = serviceProvider;
|
||||
this.intervalService = intervalService;
|
||||
}
|
||||
|
||||
|
||||
@@ -37,23 +41,25 @@ namespace PARR.EsppOrderLoader
|
||||
{
|
||||
logger.LogInformation("Запуск сервиса загрузки нарядов из ЕСПП.");
|
||||
|
||||
var nextStart = DateTime.Now;
|
||||
await intervalService.IntervalInitAsync(DownloadOrdersAsync, settings.RepeatEvery);
|
||||
|
||||
while (true)
|
||||
{
|
||||
if (nextStart.Hour == DateTime.Now.Hour && nextStart.Minute == DateTime.Now.Minute)
|
||||
{
|
||||
logger.LogInformation("Загрузка списка нарядов из ЕСПП.");
|
||||
//var nextStart = DateTime.Now;
|
||||
|
||||
await DownloadOrdersAsync();
|
||||
//while (true)
|
||||
//{
|
||||
// if (nextStart.Hour == DateTime.Now.Hour && nextStart.Minute == DateTime.Now.Minute)
|
||||
// {
|
||||
// logger.LogInformation("Загрузка списка нарядов из ЕСПП.");
|
||||
|
||||
nextStart = DateTime.Now.Add(settings.RepeatEvery);
|
||||
logger.LogInformation($"Следующая дата загрузки: {nextStart}");
|
||||
}
|
||||
// await DownloadOrdersAsync();
|
||||
|
||||
// Каждую минуту
|
||||
await Task.Delay(60 * 1000);
|
||||
}
|
||||
// nextStart = DateTime.Now.Add(settings.RepeatEvery);
|
||||
// logger.LogInformation($"Следующая дата загрузки: {nextStart}");
|
||||
// }
|
||||
|
||||
// // Каждую минуту
|
||||
// await Task.Delay(60 * 1000);
|
||||
//}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user