TGViewer
C# (C Sharp) programming C# (C Sharp) programming @csharp_ci · 18.1K subscribers
Post #1417 5.42K
⚙️ Background Jobs в ASP.NET Core — просто и эффективно

Хочешь запускать периодические задачи в фоне? В ASP.NET Core это можно реализовать с помощью BackgroundService и PeriodicTimer. Ни Hangfire, ни Quartz не нужны, если всё просто.

🧱 Основные шаги:

1. ✅ Включаем конкурентный запуск/остановку сервисов:

builder.Services.Configure<HostOptions>(o =>
{
o.ServicesStartConcurrently = true;
o.ServicesStopConcurrently = true;
});


2. 🌀 Реализуем фоновую задачу:

public class PeriodicBackgroundTask : BackgroundService
{
private readonly TimeSpan _period = TimeSpan.FromSeconds(5);
private readonly ILogger<PeriodicBackgroundTask> _logger;

public PeriodicBackgroundTask(ILogger<PeriodicBackgroundTask> logger)
{
_logger = logger;
}

protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
using PeriodicTimer timer = new PeriodicTimer(_period);
while (!stoppingToken.IsCancellationRequested &&
await timer.WaitForNextTickAsync(stoppingToken))
{
_logger.LogInformation("Executing PeriodicBackgroundTask");
}
}
}


📌 Особенности:
- BackgroundService — стандартный способ запускать фоновые задачи в ASP.NET Core
- PeriodicTimer — простой способ повторять с задержкой
- Встроенный контроль остановки через CancellationToken

💡 Подходит для:
• Регулярных проверок
• Очистки кэша
• Периодических sync-задач

#aspnetcore #dotnet #backgroundjobs #csharp #dev
More from @csharp_ci
  1. Oct 6, 2026🛠 Вышел Microsoft.Data.SqlClient 7.1.1 Обновление .NET-драйвера для SQL Server исправляет…
  2. Oct 5, 2026Одна задача, три языка: Rust, C# или C++? В курсе Google *Comprehensive Rust* есть упражне…
  3. Oct 5, 2026🦈 Открытое собеседование на Middle C# | 6 октября, 19:00 МСК Приглашаем на открытое собес…
  4. Oct 4, 2026🖥 .NET 10 научился класть объекты на стек: escape analysis в JIT Одна из самых полезных о…
  5. Oct 3, 2026Самый неожиданный кандидат на звание самого быстрого JSON-сериализатора для .NET сейчас де…
  6. Oct 2, 2026Post #1891
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →