public async Task RunAsync()
        {
            try
            {
                Logger.LogInformation($"start {nameof(RunAsync)}");
                var deletingItems = await TekExportRepository.GetOutOfTimeKeysAsync();

                // delete blob
                foreach (var item in deletingItems)
                {
                    try
                    {
                        item.Deleted = true;
                        await BlobService.DeleteAsync(item);

                        await TekExportRepository.UpdateAsync(item);
                    }
                    catch (Exception ex)
                    {
                        Logger.LogError(ex, $"delete blob Error on {nameof(TemporaryExposureKeyDeleteBatchService)} {item.id}");
                    }
                }

                // delete TemporaryExposureKey
                var tekItems = await TekRepository.GetOutOfTimeKeysAsync();

                // delete blob
                foreach (var item in tekItems)
                {
                    try
                    {
                        await TekRepository.DeleteAsync(item);
                    }
                    catch (Exception ex)
                    {
                        Logger.LogError(ex, $"delete blob Error on {nameof(TemporaryExposureKeyDeleteBatchService)} {item.id}");
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.LogError(ex, $"Error on {nameof(TemporaryExposureKeyDeleteBatchService)}");
                throw;
            }
        }