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