Приложения Azure Logic занимают часы / дни для запуска функций Azure
Фон
У меня есть набор приложений логики, каждое из которых вызывает набор приложений функций, которые запускаются параллельно.
Каждое логическое приложение запускается в определенное время в течение ночи, и все они смещаются на час.
Функции Azure написаны с использованием асинхронного шаблона и вызывают внешние API.
проблема
Иногда логические приложения работают нормально и завершают свое выполнение в течение обычного периода времени, и могут делать это два или три дня подряд.
Однако иногда они занимают часы или дни, заставляя меня отменить их бег.
Может ли какое-либо тело пролить свет на то, что может произойти?
Заметки
- Я использую последние пакеты Nuget с расширением долговременных функций
- При отладке функции всегда выполняются своевременно
- Я заметил, что функции иногда зависают в ожидании.
1 ответ
Похоже, у вас есть как минимум два функциональных приложения, которые настроены с одной и той же учетной записью хранения и именем концентратора задач:
- AzureConsumptionXXX
- AzureComputeXXX
Это приводит к тому, что два функциональных приложения крадут сообщения друг у друга. Если функции в одном приложении не существуют в другом приложении, то очень возможно, что оркестровки могут застрять в состоянии ожидания, как это.
Самый простой способ смягчить это - дать каждому приложению-функции уникальное имя концентратора задач. Пожалуйста, смотрите документацию Task Hubs для получения дополнительной информации: https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-task-hubs.