Многопроцессорная обработка в функциях Azure - PullRequest
0 голосов
/ 01 октября 2019

У меня есть функция Azure, которая вызывается сообщением очереди. В этой функции мы хотим получить доступ к нескольким BLOB-объектам одновременно, используя многопроцессорность. Можно ли это сделать в лазурных функциях?

Спасибо

Ответы [ 2 ]

0 голосов
/ 01 октября 2019

Вы должны учитывать, какой тип сервис-плана вы собираетесь запустить. Если это план потребления, то у вас будет только одно ядро ​​ЦП для выполнения какой-либо обработки, поэтому будет ограничено количество параллельной обработки, которую вы можете выполнить. ,Если вы хотите обрабатывать много файлов параллельно и хотите получить максимальную отдачу от функций Azure, я бы посоветовал вам взглянуть на функции Durable, в частности Fan Out / Fan In .

Youможет создать Orchestrator, а затем создать функцию действия для обработки каждого большого двоичного объекта, и система будет увеличивать масштаб и добавлять экземпляры (очевидно, по цене) по мере необходимости

0 голосов
/ 01 октября 2019

Многопроцессорная обработка возможна благодаря тому, что в python есть базовый пакет, который выполняет именно это.

- Edit--

Однако для того, что вы пытаетесь достичь, я бы порекомендовал использовать asyncio https://docs.python.org/3/library/asyncio.html

Функция в Azure - это просто еще один компьютер, выполняющийкод, который вы говорите, чтобы он выполнялся.

Посмотрите примеры здесь: https://docs.python.org/3/library/multiprocessing.html

PS: Однако я должен сообщить вам, что функции Azure берут деньги за обработку времени, поэтому перед началом работы вы действительно хорошо тестируетефункция.

...