Table of Contents

Class MessageCleanupService

Namespace
UsluzionicaServer.Infrastructure
Assembly
UsluzionicaServer.dll

Background servis koji svake noći u ponoć briše poruke starije od N dana. N se konfiguriše u appsettings.json kao "MessageRetentionDays" (default: 14).

Briše se samo sadržaj poruka (Message entiteti) — Conversation zapisi ostaju zauvek, tako da korisnici mogu videti sa kim su pričali.

Koristi IServiceScopeFactory jer je BackgroundService singleton, a AppDbContext je scoped — ne smeju se mešati životni vekovi.

public sealed class MessageCleanupService : BackgroundService, IHostedService, IDisposable
Inheritance
MessageCleanupService
Implements
Inherited Members

Constructors

MessageCleanupService(IServiceScopeFactory, IConfiguration, DistributedLock, ILogger<MessageCleanupService>)

Background servis koji svake noći u ponoć briše poruke starije od N dana. N se konfiguriše u appsettings.json kao "MessageRetentionDays" (default: 14).

Briše se samo sadržaj poruka (Message entiteti) — Conversation zapisi ostaju zauvek, tako da korisnici mogu videti sa kim su pričali.

Koristi IServiceScopeFactory jer je BackgroundService singleton, a AppDbContext je scoped — ne smeju se mešati životni vekovi.

Methods

ExecuteAsync(CancellationToken)

This method is called when the IHostedService starts. The implementation should return a task that represents the lifetime of the long running operation(s) being performed.