Compare commits

..

No commits in common. "3dc21bc54df7a0fe8041041c29d4488f3a14823b" and "c12a6465f93a1d4f2c11c18d660eaf90824dc472" have entirely different histories.

4 changed files with 9 additions and 16 deletions

View File

@ -3,15 +3,20 @@ using AccessQueueService.Services;
var builder = WebApplication.CreateBuilder(args); var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddControllers(); builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer(); builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen(); builder.Services.AddSwaggerGen();
builder.Services.AddSingleton<IAccessService, AccessService>(); builder.Services.AddSingleton<IAccessService, AccessService>();
builder.Services.AddSingleton<IAccessQueueRepo, TakeANumberAccessQueueRepo>(); builder.Services.AddSingleton<IAccessQueueRepo, TakeANumberAccessQueueRepo>();
builder.Services.AddHostedService<AccessCleanupBackgroundService>(); builder.Services.AddHostedService<AccessCleanupBackgroundService>();
var app = builder.Build(); var app = builder.Build();
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment()) if (app.Environment.IsDevelopment())
{ {
app.UseSwagger(); app.UseSwagger();

View File

@ -17,7 +17,7 @@ namespace AccessQueueService.Services
var cleanupIntervalMillis = _config.GetValue<int>("AccessQueue:CleanupIntervalSeconds") * 1000; var cleanupIntervalMillis = _config.GetValue<int>("AccessQueue:CleanupIntervalSeconds") * 1000;
while (!stoppingToken.IsCancellationRequested) while (!stoppingToken.IsCancellationRequested)
{ {
await _accessService.DeleteExpiredTickets(); _accessService.DeleteExpiredTickets();
await Task.Delay(cleanupIntervalMillis, stoppingToken); await Task.Delay(cleanupIntervalMillis, stoppingToken);
} }
} }

View File

@ -1,5 +1,4 @@
using System.Threading.Tasks; using AccessQueueService.Data;
using AccessQueueService.Data;
using AccessQueueService.Models; using AccessQueueService.Models;
namespace AccessQueueService.Services namespace AccessQueueService.Services
@ -107,17 +106,6 @@ namespace AccessQueueService.Services
} }
} }
public async Task<int> DeleteExpiredTickets() public int DeleteExpiredTickets() => _accessQueueRepo.DeleteExpiredTickets();
{
await _queueLock.WaitAsync();
try
{
return _accessQueueRepo.DeleteExpiredTickets();
}
finally
{
_queueLock.Release();
}
}
} }
} }

View File

@ -6,6 +6,6 @@ namespace AccessQueueService.Services
{ {
public Task<AccessResponse> RequestAccess(string userId); public Task<AccessResponse> RequestAccess(string userId);
public Task<bool> RevokeAccess(string userId); public Task<bool> RevokeAccess(string userId);
public Task<int> DeleteExpiredTickets(); public int DeleteExpiredTickets();
} }
} }