2014-11-06 8 views
9

Как мне решить, как создать несколько WebJobs с 1 функцией каждый и связать несколько функций с одним или несколькими WebJobs? СпасибоAzure Webjobs: одно задание с несколькими функциями или несколько заданий по 1 функции каждый?

+1

Я думаю, что в основном это зависит от вашего использования. Главный вопрос заключается в том, что вы хотите запускать функции независимо друг от друга, каждый из которых использует свое собственное расписание. У вас есть конкретный сценарий? –

+0

Скажите, что у меня есть 2 функции. Каждый из них считывается из уникального контейнера blob и записывается в уникальную очередь. Они полностью независимы друг от друга. Должен ли я помещать их в один и тот же проект WebJob с помощью JobHost? Или отдельные проекты? – Nestor

+1

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

ответ

4

Прямого ответа на ваш вопрос нет. Сожалею.

Обычно вы группируете функции по рабочим процессам или роли. Например, если у вас есть рабочий процесс, который содержит функцию, которая изменяет размер изображения, то функция, которая применяет водяной знак и другую, которая реплицирует изображения, тогда имеет смысл объединить все функции, потому что они связаны между собой. Скорее всего, вы измените их, когда будете изменять поток.

С другой стороны, вы можете утверждать, что функции должны быть разделены. Если вы не измените ввод/вывод, нет причин изменять более одной функции. Однако, если вам нужно изменить более одной функции, вы в конечном итоге отредактируете больше проектов.

Как вы видите, оба аргумента имеют плюсы и минусы, и на самом деле нет правильного ответа.

Попробуйте экспериментировать и посмотрите, какой подход лучше подходит для вашего решения.

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