Interface IBackgroundDeletionService

Assembly: redb.Core.dll

Background deletion service with queue-based processing.
Provides fire-and-forget deletion: mark objects, enqueue purge, return immediately.
Purge runs in background thread with separate DB connection.
Progress is stored in trash object in database (persistent).

public interface IBackgroundDeletionService

Properties

QueueLength

Number of pending tasks in queue.

int QueueLength { get; }

Methods

DeleteAsync(IEnumerable<long>, IRedbUser, int, long?)

Mark objects for deletion and enqueue background purge.

Task<DeletionMark> DeleteAsync(IEnumerable<long> objectIds, IRedbUser user, int batchSize = 10, long? trashParentId = null)

EnqueuePurge(long, int, long, int)

Enqueue purge for an existing trash container.

void EnqueuePurge(long trashId, int totalCount, long userId, int batchSize = 10)

GetProgressAsync(long)

Get current progress for a trash container from database.

Task<PurgeProgress?> GetProgressAsync(long trashId)

GetUserActiveProgressAsync(long)

Get all active (pending/running) deletions for a user from database.

Task<List<PurgeProgress>> GetUserActiveProgressAsync(long userId)