Orchestrate экземпляры функции - PullRequest
0 голосов
/ 18 октября 2018

У меня есть 100 строк в хранилище таблиц Azure.Но позже я могу добавить больше строк или установить свойство «disabled» в любой строке таблицы.

У меня есть функция Azure - «XProcessor».Я хотел бы иметь функцию Azure «HostFunction», которая запускает новый экземпляр «XProcessor» для каждой строки из хранилища таблицы Azure.

«HostFunction» должна иметь возможность передавать детали таблицыстрока к экземпляру «XProcessor» и «HostFunction» должна выполняться каждую минуту.

Как мне этого добиться?Я смотрю в приложение Azure Logic, но пока не знаю, как организовать "XProcessor" с подробностями.

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

Надежные функции - ваш выбор здесь.то, что вы можете сделать, это: 1) иметь функцию контроллера, называемую функцией оркестровки. 2) еще одну дочернюю функцию, которая может быть вызвана несколько раз с помощью оркестровки. И в вашей функции оркестровки вы ждете, пока все дочерние экземпляры не ответят вам, следовательно, выв сценарии можно получить поклонника.

Просмотрите следующие ссылки https://blog.mexia.com.au/tag/azure-durable-functions и https://docs.microsoft.com/en-us/azure/azure-functions/durable-functions-overview

0 голосов
/ 18 октября 2018

Я бы хотел использовать комбинацию техник "Durable Functions".

Eternal Orchestration - позволит вам запустить процесс, подождать установленный период времени после его завершения и снова запустить.

Из документов : Вечные оркестрации - это функции оркестратора, которые никогда не заканчиваются.Они полезны, когда вы хотите использовать Durable Functions для агрегаторов и в любом сценарии, который требует бесконечного цикла.

Fan-in-fan-out - позволит вам вызывать отдельную функцию длястрока.

Из документов : Разветвление / разветвление относится к схеме параллельного выполнения нескольких функций с последующим ожиданием завершения всех.Часто некоторая работа по агрегации выполняется с результатами, возвращаемыми функциями.

При работе с надежными функциями требуется немного дополнительных затрат, но это дает вам точный контроль над выполнением.Имейте в виду, что состояние объектов сериализуется в долговременных функциях при каждом вызове await, поэтому тысячи строк потенциально могут стать проблемой, но для описанного вами сценария он будет работать хорошо, и я добился большого успеха в этом.

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...