public async Task HandleAsync() { var thresholdDate = DateTime.UtcNow.AddDays(-14); var seiyuuToUpdate = await _seiyuuRepository.GetOlderThanModifiedDate(thresholdDate, _batchSize); var publishTasks = seiyuuToUpdate.Select( (a, i) => _seiyuuUpdatePublisher.PublishSeiyuuUpdateAsync( new UpdateSeiyuuMessage { Id = a.Id, MalId = a.MalId }, i * _delayBetweenMessages ) ); await Task.WhenAll(publishTasks); }