Utworzyłem aplikację funkcji Azure z wyzwalaczem kolejki Azure Storage, która przetwarza kolejkę, w której każdy element kolejki jest adresem URL. Funkcja po prostu pobiera treść adresu URL. Mam inną funkcję, która ładuje i parsuje mapę witryny XML witryny i dodaje wszystkie adresy URL stron do kolejki. Problem polega na tym, że aplikacja Functions działa zbyt szybko i uderza w witrynę, więc zaczyna zwracać błędy serwera. Czy istnieje sposób ograniczenia/ograniczenia prędkości uruchamiania aplikacji Functions?Ograniczanie przetwarzania kolejki pamięci masowej Azure w aplikacji funkcji Azure
Mogę, oczywiście, napisać proste zadanie sieciowe, które przetwarza je seryjnie (lub z pewną asynchronizacją, ale ogranicza liczbę jednoczesnych żądań), ale bardzo podoba mi się prostota funkcji Azure i chciałem wypróbować "bez serwera" przetwarzanie danych.
Dzięki @ Mathewc. Poszedłem z twoją drugą propozycją (ustaw NextVisibleTime). Zajęło mi trochę czasu, aby dowiedzieć się, jak to się stało, ale działa dobrze. Mój kod jest na https://github.com/alindgren/SiteWarmer na wypadek, gdyby ktoś chciał rzucić okiem. – Alex
Czy kolejka.batchSize liczba jednoczesnych wiadomości pobierania w kolejce? Lub po prostu na przykład tej funkcji? – Parker
BatchSize to liczba wiadomości pobranych przy każdej iteracji pętli odpytywania kolejki. To znaczy. Jest to numer, który przekazujemy do wywołania usługi Azure Queues GetMessagesAsync. Ta pętla odpytywania jest specyficzna dla funkcji - każda funkcja kolejki ma własną. – mathewc