perf: optimize authorization scoreline and workers

This commit is contained in:
2026-07-30 09:12:27 +08:00
parent 4bea745b79
commit bedc77bffd
52 changed files with 21911 additions and 347 deletions

View File

@@ -115,9 +115,15 @@ public sealed class HttpDomainGatewayProvisioner(
}
}
public sealed class TenantRuntimeCacheInvalidator(IMemoryCache cache) : ITenantRuntimeCacheInvalidator
public sealed class TenantRuntimeCacheInvalidator(
IMemoryCache cache,
ITenantPublicCacheInvalidator publicCacheInvalidator) : ITenantRuntimeCacheInvalidator
{
public void Invalidate(Guid tenantId) => cache.Remove($"tenant-runtime:{tenantId:N}");
public async Task InvalidateAsync(Guid tenantId, CancellationToken cancellationToken = default)
{
cache.Remove($"tenant-runtime:{tenantId:N}");
await publicCacheInvalidator.InvalidateAsync(tenantId, cancellationToken);
}
}
public sealed class TenantDomainLifecycleService(
@@ -185,7 +191,7 @@ public sealed class TenantDomainLifecycleService(
domain.TlsReadyAt ??= DateTimeOffset.UtcNow;
domain.Status = TenantDomainStatus.Active;
domain.LastFailureReason = null;
cacheInvalidator.Invalidate(domain.TenantId);
await cacheInvalidator.InvalidateAsync(domain.TenantId, cancellationToken);
}
private static void Fail(TenantDomain domain, bool configured, string? reason)