Публикация веб-приложения на веб-сайтах Azure Сбой промежуточного развертывания завершается веб-заданием
Я только что создал новый слот развертывания для своего приложения, импортировал профиль публикации в Visual Studio, но после развертывания я получаю следующее сообщение об ошибке:
Ошибка 8: Произошла ошибка при создании расписания WebJob. Не удалось найти веб-сайт, который соответствует поставляемому имени WebSiteName [myapp__staging] и WebSiteUrl [ http://myapp-staging.azurewebsites.net%5D.
У меня есть 2 веб-задания, непрерывное и запланированное.
Я уже выполнил вход в правильную учетную запись Azure, как указано в этом ответе.
Нужно ли будет настраивать что-то еще для развертывания моего приложения в промежуточном слоте развертывания с веб-заданиями?
Мое приложение использует ASP.NET, если это имеет значение?
2 ответа
Джефф,
Как предположил Дэвид, вы можете / должны перейти на новую поддержку CRON. Вот пример. WebJob будет развернут как непрерывный WebJob.
Имейте в виду, что для использования этого вам необходимо установить пакет WebJobs и расширения, которые в настоящее время являются предварительным выпуском. Вы можете получить их на Nuget.
Пакет установки Microsoft.Azure.WebJobs -Pre Пакет установки Microsoft.Azure.WebJobs.Extensions -Pre
Кроме того, как предположил Дэвид, если вы не используете SDK WebJobs, вы также можете запустить его с помощью файла settings.job. Он привел пример здесь.
Program.cs
static void Main()
{
//Set up DI (In case you're using an IOC container)
var module = new CustomModule();
var kernel = new StandardKernel(module);
//Configure JobHost
var storageConnectionString = "your_connection_string";
var config = new JobHostConfiguration(storageConnectionString) { JobActivator = new JobActivator(kernel) };
config.UseTimers(); //Use this to use the CRON expression.
//Pass configuration to JobJost
var host = new JobHost(config);
// The following code ensures that the WebJob will be running continuously
host.RunAndBlock();
}
Function.cs
public class Functions
{
public void YourMethodName([TimerTrigger("00:05:00")] TimerInfo timerInfo, TextWriter log)
{
//This Job runs every 5 minutes.
//Do work here.
}
}
You can change the schedule in the TimerTrigger attribute.
UPDATE Added the webjob-publish-settings.json file
Here's an example of the webjob-publiss-settings.json
{
"$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json",
"webJobName": "YourWebJobName",
"startTime": null,
"endTime": null,
"jobRecurrenceFrequency": null,
"interval": null,
"runMode": "Continuous"
}