Произошла ошибка при создании расписания WebJob
Я пытаюсь опубликовать свой веб-сайт вместе с несколькими веб-страницами, но после создания веб-сайта и создания заданий на веб-сайте Azure я вижу ошибку на VS.NET 2013, которая гласит:
Error 948 An error occurred while creating the WebJob schedule: No website could be found which matches the WebSiteName [mysitename] and WebSiteUrl [http://mysitename.azurewebsites.net] supplied
На моем веб-сайте есть 2 WebJobs, 1, который работает непрерывно, и он создан и запущен, но тот, который должен быть запущен по расписанию, имеет эту проблему.
Любые идеи относительно того, что здесь может быть неправильным?
Изменить 1
Просто хотел добавить, что Запланированное задание создается как "On Demand"
Вот настройки для публикации, которые я использую:
{
"$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json",
"webJobName": "ArchiveShipments",
"startTime": "2015-01-11T00:00:00+05:30",
"endTime": null,
"jobRecurrenceFrequency": "Day",
"interval": 1,
"runMode": "Scheduled"
}
Кстати, я применил AzureSDK. 2.5 Я не вижу ошибок при публикации, но запланированный веб-сайт не создается.
Ответы
Ответ 1
Для меня это произошло, когда я переключился с развертывания на одну учетную запись Azure на другую учетную запись.
В Visual Studio откройте/разверните боковое окно Server Explorer, щелкните правой кнопкой мыши на Azure, выберите "Подключиться к подписке Microsoft Azure...". Вам будет предложено выйти из системы и войти в систему с новыми учетными данными.
![введите описание изображения здесь]()
Ответ 2
Если вы получаете эту ошибку при публикации из PowerShell, это, вероятно, означает, что вы не вошли в свою лазурную подписку или вошли в неправильную подписку. Если браузер не запрашивает ваши учетные данные, возможно, он использует неправильную подписку. Если вы не запрашиваете логин, очистите файлы cookie и повторите попытку.
Ответ 3
У меня была эта проблема при попытке опубликовать мой веб-сайт в слот для развертывания.
Веб-сайт опубликован, но веб-сайт не найден при попытке подключить расписание.
Мне удалось обойти это, сделав 1 ручную публикацию через портал и установив там график.
После этого я могу просто опубликовать из VS, и расписание останется нетронутым.
Ответ 4
Я потратил весь день на это. Решением для меня было выполнить ручное развертывание веб-задания путем загрузки ZIP и планирования по желанию. Затем в VS я добавил существующий проект в качестве веб-задания и опубликовал веб-сайт, который, как и ожидалось, обновит запланированный веб-ресурс.
Ответ 5
После недавних обновлений что-то изменилось. Я не смог опубликовать ни одну из моих подписки, где у меня была запланированная работа. После многократного поиска решение выглядит следующим образом:
- Решение правой кнопки мыши и Управление пакетами NuGet для решения
- Измените все модули Web Publish до версии 1.0.3
Publish. Проблема решена.
Ответ 6
Пробовал все здесь и все еще имел ту же проблему, но мне удалось решить, выполнив следующие действия:
У меня установлен пакет с именем Microsoft.Web.WebJobs.Publish
, который запускал старую версию (1.0.3
). Я обновился до последней версии, в настоящее время 1.10.12
, а затем первое и первое приложение и веб-приложение/расписание.
Ответ 7
Я снова столкнулся с этим в VS2017, и основной причиной было отклонение функции интеграции VS Azure Scheduler. По рекомендации Дэвида Эббо в связанной теме я преобразовал свои webjobs, чтобы использовать функцию планирования CRON, и публикация теперь работает так, как ожидалось. Обратите внимание, что параметр Всегда включать должен быть включен в приложении.
Дополнительные параметры отладки, если вы столкнулись с этим:
-
Убедитесь, что используется правильный файл публикации публикации (pubxml
). У меня было несколько файлов профилей публикации для одного и того же веб-блога, и я попытался опубликовать их с ошибкой.
-
Я предлагаю сначала опубликовать webjobs отдельно, один за другим (а не публиковать их вместе с сайтом).
-
Если вы не можете опубликовать webjob для публикации, удалите его папку Properties\PublishProfiles
и попытайтесь опубликовать его снова - вас встретит мастер VS, который должен вас сортировать (он воссоздает pubxml
файлы правильно.)
Ответ 8
Попробуйте обновить версию 2.9 Azure SDK, которая устраняет проблему:
Отремонтированная проблема, связанная с запланированными веб-приложениями, в которых информация аутентификации не была передана Планировщику процесс подготовки
(https://www.visualstudio.com/en-us/news/vs2015-update2-vs.aspx)
EDIT:
В конечном итоге я отказался от использования этого планировщика и переключился на Планировщик Kudu (Внутренний планировщик WebJob). См.: https://github.com/projectkudu/kudu/wiki/Web-jobs#scheduling-a-triggered-webjob
На самом деле проще настроить. Все, что вам нужно сделать, это добавить файл settings.json в webjob со следующим содержимым: {"schedule": "the schedule as a cron expression"}
Проценты и минусы использования использования Azure Scheduler против планировщика Kudu обсуждаются здесь: http://blog.amitapple.com/post/2015/06/scheduling-azure-webjobs/#.Vz4sk5ErJaQ
Важное ограничение, не упомянутое в этом сообщении в блоге, заключается в том, что создание расписания чаще, чем ежечасно, не поддерживается на свободном уровне планировщика (который вы, вероятно, используете, если у вас нет намеренно изменил его, так как он отделен от уровня обслуживания приложений). Это то, что в конечном итоге привело меня к планировщику Kudu, поскольку мне нужно было запланировать мою работу каждые 15 минут.
Ответ 9
Обновление пакета nuget до последнего обновления, в моем случае 1.10.12, сделало трюк.
НИКАКАЯ визуальная студия не смогла удалить предыдущий пакет. Для этого мне пришлось перезапустить окна, а затем, прежде чем открывать визуальную студию, удалив папку, содержащую старую версию webjobs.publish.
Это помогло мне!