2017-02-16 7 views
0

У меня в настоящее время есть веб-сайт, который запускается, когда пользователь выполняет определенное действие. Когда webjob работает, он не может принять новый запрос до его завершения с текущим процессом. Возможно ли запустить webjob одновременно, то есть иметь возможность обрабатывать задание для нескольких клиентов за раз?Может ли azure webjob работать одновременно?

ответ

3

Абсолютно. Но как вы запускаете свой WebJob, когда пользователь выполняет определенное действие? Если вы запускаете метод в своем WebJob через QueueTrigger, который прослушивает сообщение в очереди Azure Storage, вы можете одновременно обрабатывать несколько потоков. Вы можете сделать что-то подобное, используя очереди служебной шины.

Ознакомьтесь с документами в parallel execution section here.

+0

Im в настоящее время запускает его через веб-сайт REST api/post call, им предполагается, что это не будет правильным способом сделать это правильно? – Gio

+0

Это один из способов сделать это. Существуют и другие преимущества использования очередей, например, возможность аренды сообщения и его полное завершение, когда вы успешно завершили обработку (для очередей хранения), или выполнив то же самое с режимом приема PeekLock для очередей служебной шины. Таким образом, если ваш метод webjob выйдет из строя или выйдет из строя во время обработки, вы можете попытаться снова обработать. Если вы сделали это с помощью вызова веб-службы RESTful и произошел сбой, вы * @ & # не повезло. –

+0

Другим преимуществом использования очередей для связи является то, что если ваш веб-сайт временно отключается (для обслуживания или из-за сбоя), сообщения будут накапливаться в вашей очереди и будут обрабатываться, когда веб-камера возвращается в онлайн. Это называется временной развязкой. Еще одно: если ваше веб-приложение захлопнулось и пытается сделать кучу вызовов веб-сервисов для интенсивного процесса веб-дизайна, вы можете закапывать webjob. С очередью сообщений работа просто выполняется в очереди и обрабатывается, когда веб-узел догоняет. Это создает эластичность для обработки всплесков в вашем приложении. –