Произошла ошибка при создании расписания 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 веб-задания, 1, которое работает непрерывно, и оно создано и работает, но эта проблема должна возникать при запуске по расписанию.
Любые идеи относительно того, что может быть здесь не так?
Редактировать 1
Просто хотел добавить, что запланированное задание создается как "по требованию"
Вот настройки для публикации, которые я использую:
{
"$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 Я не вижу никаких ошибок при публикации, но запланированный WebJob не создается.
9 ответов
Для меня это произошло, когда я переключился с одного аккаунта Azure на другой. В Visual Studio откройте / разверните боковое окно обозревателя серверов, щелкните правой кнопкой мыши Azure и выберите "Подключиться к подписке Microsoft Azure...". Вам будет предложено выйти и войти с новыми учетными данными.
Если вы получаете эту ошибку при публикации из PowerShell, это, вероятно, означает, что вы не вошли в свою подписку Azure или вошли в неправильную подписку. Если браузер не запрашивает ваши учетные данные, возможно, он использует неправильную подписку. Если не запрашивает логин, очистите куки и попробуйте снова.
У меня была эта проблема при попытке опубликовать мою веб-работу в слоте развертывания.
Веб-работа была опубликована, но веб-сайт не был найден при попытке установить расписание.
Я смог обойти это, выполнив 1 публикацию вручную через портал и установив там расписание. После этого я мог бы просто опубликовать из VS, и график остался бы нетронутым.
После последних обновлений что-то изменилось. Я не смог опубликовать ни одну из моих подписок, где у меня была запланированная работа. После долгих размышлений, решение выглядит следующим образом: - Решение правой кнопкой мыши и Управление пакетами NuGet для решения - Измените все модули веб-публикации до версии 1.0.3.
Публиковать. Задача решена.
Попробовал все здесь и все еще имел ту же проблему, но мне удалось решить, выполнив следующие действия:
У меня есть посылка под названием Microsoft.Web.WebJobs.Publish
установлен который работал под старой версией (1.0.3
). Я обновил до последней, в настоящее время 1.10.12
, а затем приложение и веб-работа / расписание публикуются впервые.
Я провел весь день на этом. Решение для меня заключалось в том, чтобы выполнить развертывание веб-задания вручную, загрузив ZIP-файл и запланировав его по своему усмотрению. Затем в VS я сделал Add Existing Project as Web Job и опубликовал сайт, обновляя запланированное Web Job, как и ожидалось.
Я столкнулся с этим снова в VS2017, и основной причиной было устаревание функции интеграции планировщика VS Azure. В соответствии с рекомендацией Дэвида Эббо в связанной ветке я преобразовал свои веб-задания в функцию планирования CRON и теперь публикация работает, как и ожидалось. Обратите внимание, что в приложении должна быть включена настройка " Всегда включено".
Еще несколько вариантов отладки, если вы столкнулись с этим:
Убедитесь в правильности публикации профиля (
pubxml
) файл используется. У меня было несколько файлов профилей публикации для одного и того же веб-задания, и я попытался ошибочно опубликовать неправильный.Я предлагаю сначала попробовать опубликовать веб-задания отдельно, а не публиковать их вместе с сайтом.
Если вам не удается опубликовать веб-задание, удалите его
Properties\PublishProfiles
папку и попробуйте опубликовать снова - вас встретит мастер VS, который должен отсортировать вас (он создаст зановоpubxml
файлы правильно).
Обновление пакета nuget до последнего обновления, в моем случае 1.10.12, помогло.
ОДНАКО визуальной студии не удалось удалить предыдущий пакет. Для этого мне пришлось перезапустить Windows, а затем, прежде чем открывать Visual Studio, удалить папку, содержащую старую версию webjobs.publish.
Это помогло мне!
Мне удалось избавиться от этой ошибки, удалив старую ссылку в моем веб-файле csproj
<Import Project="..\packages\Microsoft.Web.WebJobs.Publish.1.0.7\tools\webjobs.targets" Condition="Exists('..\packages\Microsoft.Web.WebJobs.Publish.1.0.7\tools\webjobs.targets')" />
Я уже перешел на более новый пакет Microsoft.Web.WebJobs.Publish.2.0.0
который также упоминался.
Попробуйте обновить до версии 2.9 пакета Azure SDK, чтобы устранить связанную проблему:
Исправлена проблема, связанная с запланированными веб-заданиями, из-за которой данные аутентификации не могли быть переданы в процесс подготовки Планировщика
( https://www.visualstudio.com/en-us/news/vs2015-update2-vs.aspx)
РЕДАКТИРОВАТЬ:
В конце концов я отказался от использования этого планировщика и переключился на планировщик Kudu (Internal WebJob Scheduler). Смотрите: https://github.com/projectkudu/kudu/wiki/Web-jobs
Это на самом деле проще в настройке. Все, что вам нужно сделать, это добавить файл settings.json в веб-задание со следующим содержимым: {"schedule": "the schedule as a cron expression"}
Плюсы и минусы использования планировщика Azure против планировщика Kudu обсуждаются здесь: http://blog.amitapple.com/post/2015/06/scheduling-azure-webjobs/
Важное ограничение, не упомянутое в этом сообщении в блоге, заключается в том, что создание расписания чаще, чем ежечасно, не поддерживается на свободном уровне планировщика (который вы, вероятно, используете, если не умышленно его не изменяли, поскольку он отделен от приложения). уровень обслуживания). Это то, что в конечном итоге привело меня к планировщику Kudu, так как мне нужно было планировать свою работу каждые 15 минут.