using Hg.Core.Domain; using Hg.Core.Domain.Impl; namespace Hg.Core.WebApi.Workers { public class SsoWorker : BackgroundService { private readonly IServiceProvider _serviceProvider; public SsoWorker(IServiceProvider serviceProvider) { _serviceProvider = serviceProvider; } protected override async Task ExecuteAsync(CancellationToken stoppingToken) { try { var scope = _serviceProvider.CreateScope(); var inneruserDomain = scope.ServiceProvider.GetRequiredService(); while (!stoppingToken.IsCancellationRequested) { await inneruserDomain.SyncSsoOrganization(); await Task.Delay(60 * 60 * 1000); } } catch (Exception ex) { Log.Error(ex, $"SsoWorker服务报错!"); } } } }