Почему в блейде Azure WebJobs не отображаются веб-задания

#azure #azure-webjobs #azure-appservice

#azure #azure-webjobs #azure-appservice

Вопрос:

В принципе, мне любопытно, почему блейд WebJobs для моей службы приложений показывает 0 веб-заданий («Вы не добавили никаких веб-заданий. Нажмите ДОБАВИТЬ, чтобы начать «). И, конечно, когда я нажимаю Добавить, я получаю сообщение «WebJob не может быть добавлен с портала, если настроена разработка из системы управления версиями».).

Я следую этому руководству. Как и в любом техническом руководстве, все устаревает очень быстро и часто. Поэтому я стараюсь следовать этому изо всех сил.

Обратите внимание, что мой фрагмент (взятый из ссылки) по сути выглядит так:

 class Program
{
    static void Main()
    {
        config = new JobHostConfiguration();
        var host = new JobHost(config);
        host.RunAndBlock();
    }
}
  

Перефразируя: я не вижу своего веб-задания в своей службе приложений.

Вопрос: Основываясь на этой ссылке / руководстве, WebJob просто существует в решении. Существует Program.cs (точка входа службы / хоста приложений), а затем есть само WebJob ( Functions.cs, которое имеет базовую реализацию с QueueTrigger («очередь»)). Почему веб-задание не отображается в блейде WebJobs в службе приложений?

Ответ №1:

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

С точки зрения службы приложений веб-задание — это всего лишь часть содержимого приложения.

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

Правильный способ сделать это — убедиться, что веб-задания являются частью вашего решения.

В качестве обходного пути вы можете развернуть webjobs через FTP / FTPS, но имейте в виду, что они будут удалены в тот момент, когда система управления версиями выполнит следующее развертывание.

Или вы можете загрузить веб-задания напрямую через консоль Kudu.

Откройте консоль Kudu, выбрав «Расширенный инструмент» -> «Перейти» в службе приложений на портале Azure, затем перейдите в каталог для ваших веб-заданий: d:homesitewwwrootapp_datajobscontinuous{job name} перетащите zip-файл, который вы подготовили для загрузки своего веб-задания

Комментарии:

1. Как бы вы сказали If you deploy a webjob through the portal and then had a commit to your source control, then the webjob would be removed since it wasn't part of the payload being published by source control , почему это происходит так? Есть ли какой-либо документ для этого?