Compare commits
2 Commits
c12a6465f9
...
3dc21bc54d
Author | SHA1 | Date |
---|---|---|
|
3dc21bc54d | |
|
a6980252c0 |
|
@ -3,20 +3,15 @@ using AccessQueueService.Services;
|
|||
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
|
||||
// Add services to the container.
|
||||
|
||||
builder.Services.AddControllers();
|
||||
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
|
||||
builder.Services.AddEndpointsApiExplorer();
|
||||
builder.Services.AddSwaggerGen();
|
||||
builder.Services.AddSingleton<IAccessService, AccessService>();
|
||||
builder.Services.AddSingleton<IAccessQueueRepo, TakeANumberAccessQueueRepo>();
|
||||
builder.Services.AddHostedService<AccessCleanupBackgroundService>();
|
||||
|
||||
|
||||
var app = builder.Build();
|
||||
|
||||
// Configure the HTTP request pipeline.
|
||||
if (app.Environment.IsDevelopment())
|
||||
{
|
||||
app.UseSwagger();
|
||||
|
|
|
@ -17,7 +17,7 @@ namespace AccessQueueService.Services
|
|||
var cleanupIntervalMillis = _config.GetValue<int>("AccessQueue:CleanupIntervalSeconds") * 1000;
|
||||
while (!stoppingToken.IsCancellationRequested)
|
||||
{
|
||||
_accessService.DeleteExpiredTickets();
|
||||
await _accessService.DeleteExpiredTickets();
|
||||
await Task.Delay(cleanupIntervalMillis, stoppingToken);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using AccessQueueService.Data;
|
||||
using System.Threading.Tasks;
|
||||
using AccessQueueService.Data;
|
||||
using AccessQueueService.Models;
|
||||
|
||||
namespace AccessQueueService.Services
|
||||
|
@ -106,6 +107,17 @@ namespace AccessQueueService.Services
|
|||
}
|
||||
}
|
||||
|
||||
public int DeleteExpiredTickets() => _accessQueueRepo.DeleteExpiredTickets();
|
||||
public async Task<int> DeleteExpiredTickets()
|
||||
{
|
||||
await _queueLock.WaitAsync();
|
||||
try
|
||||
{
|
||||
return _accessQueueRepo.DeleteExpiredTickets();
|
||||
}
|
||||
finally
|
||||
{
|
||||
_queueLock.Release();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,6 +6,6 @@ namespace AccessQueueService.Services
|
|||
{
|
||||
public Task<AccessResponse> RequestAccess(string userId);
|
||||
public Task<bool> RevokeAccess(string userId);
|
||||
public int DeleteExpiredTickets();
|
||||
public Task<int> DeleteExpiredTickets();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue