Запуск нескольких фоновых служб ASP.NET CoreC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Запуск нескольких фоновых служб ASP.NET Core

Сообщение Anonymous »

У меня есть код, который выполняет отчет каждую ночь в полночь. У меня есть еще один отчет, который мне также нужно составлять в начале каждого месяца. Можно ли совместно использовать эту фоновую службу для одновременного запуска обеих? Мой код на данный момент:
namespace API.Services
{
public class ReviewSummaryBackgroundService : BackgroundService
{
protected IWebHostEnvironment _env;
private readonly IServiceScopeFactory _scopeFactory;

public ReviewSummaryBackgroundService(IWebHostEnvironment env, IServiceScopeFactory scopeFactory)
{
_env = env;
_scopeFactory = scopeFactory;
}

private static TimeSpan TimeUntilMidnight()
{
return DateTime.Today.AddDays(1) - DateTime.Now;
}

protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
var delay = _env.IsProduction() ? TimeSpan.Zero : TimeUntilMidnight();

while (!stoppingToken.IsCancellationRequested)
{
await Task.Delay(delay, stoppingToken);

try
{
await OnTimerFiredAsync(stoppingToken);
}
catch (Exception ex)
{
// in future log exception
}

delay = TimeUntilMidnight();
}
}

private async Task OnTimerFiredAsync(CancellationToken stoppingToken)
{
// Create a scope using the CreateScope method
using (var scope = _scopeFactory.CreateScope())
{
var reviewSummaryService = scope.ServiceProvider.GetRequiredService();
await reviewSummaryService.ExportDailyExcelReportAsync();
}
}
}

}

Другой отчет использует общий уровень обслуживания, поэтому я бы просто позвонил:
reviewSummaryService.ExportMonthlyExcelReportAsync()


Подробнее здесь: https://stackoverflow.com/questions/791 ... d-services
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Запуск нескольких фоновых служб ASP.NET Core
    Anonymous » » в форуме C#
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Каталог служб WSO2 4.3.0 (произошла ошибка при получении служб из каталога служб.)
    Anonymous » » в форуме Apache
    0 Ответы
    63 Просмотры
    Последнее сообщение Anonymous
  • Каталог служб WSO2 4.3.0 (произошла ошибка при получении служб из каталога служб.)
    Anonymous » » в форуме JAVA
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous
  • Проблема с тайм-аутом веб-сайта при запуске двух одинаковых фоновых служб .NET Core
    Anonymous » » в форуме C#
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Проблема с тайм-аутом веб-сайта при запуске двух одинаковых фоновых служб .NET Core
    Anonymous » » в форуме C#
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»