|  |  |  | @ -5,6 +5,7 @@ using System.Threading; | 
			
		
	
		
			
				
					|  |  |  |  | using System.Threading.Tasks; | 
			
		
	
		
			
				
					|  |  |  |  | using Microsoft.EntityFrameworkCore; | 
			
		
	
		
			
				
					|  |  |  |  | using Microsoft.Extensions.Options; | 
			
		
	
		
			
				
					|  |  |  |  | using Volo.Abp.EventBus.Boxes; | 
			
		
	
		
			
				
					|  |  |  |  | using Volo.Abp.EventBus.Distributed; | 
			
		
	
		
			
				
					|  |  |  |  | using Volo.Abp.Timing; | 
			
		
	
		
			
				
					|  |  |  |  | using Volo.Abp.Uow; | 
			
		
	
	
		
			
				
					|  |  |  | @ -15,17 +16,17 @@ namespace Volo.Abp.EntityFrameworkCore.DistributedEvents | 
			
		
	
		
			
				
					|  |  |  |  |         where TDbContext : IHasEventInbox | 
			
		
	
		
			
				
					|  |  |  |  |     { | 
			
		
	
		
			
				
					|  |  |  |  |         protected IDbContextProvider<TDbContext> DbContextProvider { get; } | 
			
		
	
		
			
				
					|  |  |  |  |         protected AbpDistributedEventBusOptions DistributedEventsOptions { get; } | 
			
		
	
		
			
				
					|  |  |  |  |         protected AbpEventBusBoxesOptions EventBusBoxesOptions { get; } | 
			
		
	
		
			
				
					|  |  |  |  |         protected IClock Clock { get; } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         public DbContextEventInbox( | 
			
		
	
		
			
				
					|  |  |  |  |             IDbContextProvider<TDbContext> dbContextProvider, | 
			
		
	
		
			
				
					|  |  |  |  |             IClock clock, | 
			
		
	
		
			
				
					|  |  |  |  |            IOptions<AbpDistributedEventBusOptions> distributedEventsOptions) | 
			
		
	
		
			
				
					|  |  |  |  |            IOptions<AbpEventBusBoxesOptions> eventBusBoxesOptions) | 
			
		
	
		
			
				
					|  |  |  |  |         { | 
			
		
	
		
			
				
					|  |  |  |  |             DbContextProvider = dbContextProvider; | 
			
		
	
		
			
				
					|  |  |  |  |             Clock = clock; | 
			
		
	
		
			
				
					|  |  |  |  |             DistributedEventsOptions = distributedEventsOptions.Value; | 
			
		
	
		
			
				
					|  |  |  |  |             EventBusBoxesOptions = eventBusBoxesOptions.Value; | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         [UnitOfWork] | 
			
		
	
	
		
			
				
					|  |  |  | @ -78,7 +79,7 @@ namespace Volo.Abp.EntityFrameworkCore.DistributedEvents | 
			
		
	
		
			
				
					|  |  |  |  |         public virtual async Task DeleteOldEventsAsync() | 
			
		
	
		
			
				
					|  |  |  |  |         { | 
			
		
	
		
			
				
					|  |  |  |  |             var dbContext = await DbContextProvider.GetDbContextAsync(); | 
			
		
	
		
			
				
					|  |  |  |  |             var timeToKeepEvents = Clock.Now.Add(DistributedEventsOptions.InboxKeepEventTimeSpan); | 
			
		
	
		
			
				
					|  |  |  |  |             var timeToKeepEvents = Clock.Now - EventBusBoxesOptions.WaitTimeToDeleteProcessedInboxEvents; | 
			
		
	
		
			
				
					|  |  |  |  |             var oldEvents = await dbContext.IncomingEvents | 
			
		
	
		
			
				
					|  |  |  |  |                 .Where(x => x.Processed && x.CreationTime < timeToKeepEvents) | 
			
		
	
		
			
				
					|  |  |  |  |                 .ToListAsync(); | 
			
		
	
	
		
			
				
					|  |  |  | 
 |