Ядро DotNet: веб-задания Azure не запускаются - PullRequest
0 голосов
/ 19 октября 2018

У меня есть веб-работа Azure с ядром dotnet, и она развернута в слоте развертывания в службе приложений Azure.Я следовал инструкциям: https://blogs.msdn.microsoft.com/azuredev/2018/08/22/webjobs-in-azure-with-net-core-2-1/, чтобы опубликовать веб-работу в нужной папке, а также добавить файл run.cmd для вызова библиотеки DLL.

Веб-работа развертывается через VSTS.Так же, как это описано в блоге.(в папке App_Data \ jobs \).По какой-то причине он удаляет сообщения из очереди только в том случае, если я развернул в App_Data \ jobs \ непрерывный, а не в App_Data \ jobs \, запущенный, как предполагалось.Любые подсказки?

Ответы [ 2 ]

0 голосов
/ 01 ноября 2018

Я думаю, что ваши проблемы связаны с ожиданием того, что должна делать «Запущенная веб-работа».Это вводит в заблуждение формулировка, но Triggered WebJob запускается только тогда, когда запускается вручную или по расписанию .То, что вы хотите, это непрерывный WebJob.Вы можете думать об этом как о WebJob непрерывно , ищущем входные данные очереди, которые приведут в исполнение ваш код.

Дэвид очень хорошо отвечает на вопрос в это ТАКpost , поэтому я опубликую часть его ответа:

Похоже, вы используете веб-задания Azure SDK .В сценариях SDK, даже если ваши отдельные функции «запускаются», WebJob в целом работает непрерывно (т. Е. Ваш exe продолжает работать и выполняет собственный внутренний запуск).

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

Поддерживаются многие типы файлов, но для нас, пользователей Windows, имеет смысл использовать файл exe, cmd, bat или PowerShell.Консольное приложение раньше было exe-файлом, но в .NET Core оно создает обычный DLL-файл, который нам нужно запустить вручную.

В качестве ссылки, которую вы указали, WebJob для его запуска требуется некоторый исполняемый скрипт, который он может использовать для начала работы.А для ядра .net необходимо вручную запустить файл dll, чтобы запустить его.

Хотя нам также нужно выполнить run.cmd, мы не смогли создать его самостоятельно.Вы можете загрузить этот пример ядра webjob , который использует Azure WebJobs SDK в приложениях dotnet core 2.0.При развертывании в Azure он автоматически создает файл run.cmd для запуска веб-задания.

...