2015-11-17 2 views
1

Есть ли способ запустить Azure WebJob из сборки и развертывания vNext? Я создал веб-приложение для своего Azure Web App, которое запускается вручную. В настоящее время он работает, и когда он запускается, он считывает файл dbscript.sql и выполняет его в базе данных веб-приложения; это эффективно обновляет мою базу данных. Теперь я хотел бы запустить этот WebJob, когда мое веб-приложение будет создано и развернуто, но не уверен, как это сделать в определении сборки vNext.Как запустить Azure WebJob из vNext Build?

Спасибо, Russ

ответ

0

Вам нужен способ, чтобы назвать что-то на развертывании. Я не уверен, как вы сейчас развертываете, но давайте предположим, что вы используете git. На заднем конце Azure использует Kudu для развертывания git. Вы должны иметь возможность настраивать сценарии Kudu для вызова командлета powershell, чтобы добавить элемент в очередь, который затем запускает webjob. Посмотрите на крючки после развертывания Deploying ASP.NET 5 application to Azure Web App using Git or Mercurial и post deployment hooks for Kudu

Одна вещи, чтобы попробовать, что может быть даже проще просто позвонить вашему код на крючке после развертывания Куды (а не пытаться использовать webjob), так как документы говорят

To add a post deployment action hook you simply need 
to place a script file (.bat or .cmd) under 
site\deployments\tools\PostDeploymentActions.

Если вы делаете развертывание локально, после использования развертывания лазурь-кли, чтобы вызвать выключение webjob с помощью следующей команды (вам необходимо заполнить детали для работы и сайта) от azure-cli cheat sheet

 
azure site job start 

Обращайтесь к webjob - поскольку вы не можете запускать WebJob с помощью успокоительного метода, вам нужно, чтобы ваш webjob запускался с помощью нового сообщения очереди (если вы решите пойти по этому маршруту). Вы можете сделать это с помощью powershell. Оформить заказ Как вставить сообщение в очередь Using Azure PowerShell with Azure Storage, которое затем активирует ваш веб-сайт.

Наконец-то у вас может быть запущен веб-сайт, который является приложением ASP.NET 5 и запускает его, если необходимо для выполнения ваших собственных действий. По этой мере вы можете легко сделать то же самое с веб-api - но может быть лучше всего в этом случае просто запустить webjob через сообщение очереди или использовать azure-cli, конфигурация относительно проста.

Смежные вопросы