Interface IBackgroundDeletionService
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
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)