Exemplo n.º 1
0
        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}");
                }
            }
        }