/// <summary> /// /// </summary> /// <param name="stoppingToken"></param> /// <returns></returns> protected override async Task ExecuteAsync(CancellationToken stoppingToken) { await Task.Run(() => { while (!stoppingToken.IsCancellationRequested) { _cacheProvider.ClearOverTimeHashKey(); Thread.Sleep(_redisConfig.Timer); } }, stoppingToken); await Task.CompletedTask; }