public async Task Run([TimerTrigger("0 */90 * * * *")] TimerInfo myTimer, ILogger log) { log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}"); var response = await FinnkinoApi.GetAllCurrentMovies(); var movies = await ParseXmlToMovies(response); var response2 = await FinnkinoApi.GetAllFutureMovies(); var movies2 = await ParseXmlToMovies(response2); foreach (var movie in movies2) { movie.InSchedule = false; } movies.AddRange(movies2); await _movieRepository.AddOrUpdateMovies(movies); }
public async Task Run([TimerTrigger("0 */90 * * * *")] TimerInfo myTimer, ILogger log) { log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}"); var response = await FinnkinoApi.GetAllCurrentMovies(); var movies = await ParseXmlToMovies(response); var response2 = await FinnkinoApi.GetAllFutureMovies(); var movies2 = await ParseXmlToMovies(response2); foreach (var movie in movies2) { movie.InSchedule = false; } movies.AddRange(movies2); foreach (var movie in movies) { try { var existingMovie = _cosmosMovieService.GetItemAsync(movie.MovieId); if (existingMovie == null) { await _cosmosMovieService.AddItemAsync(movie); continue; } await _cosmosMovieService.UpdateItemAsync(movie.MovieId, movie); } catch (CosmosException ex) when(ex.StatusCode == HttpStatusCode.TooManyRequests) //429 { _logger.LogError($"Cant create document. Request was throttled. Exception thrown: {ex.Message}"); } catch (Exception ex) { _logger.LogError($"Could not update movies. Exception thrown: {ex.Message}"); } } }