Azure WebJobs 3.x не запускается с выражением CRON в настройках приложения Azure

#c# #azure #azure-webjobs #azure-webjobssdk #azure-webjobs-continuous

#c# #лазурный #azure-webjobs #azure-webjobssdk #azure-webjobs-непрерывный #azure

Вопрос:

Среда: .Net Framework 4.7.2

Настройки приложения считываются из: app.config, в проекте нет applicationsettings.json

Проблема: переменная среды не переопределяет выражение CRON в project.exe.config (одно в Kudu) и не запускает. Все остальные настройки приложения переопределяются, кроме выражения CRON.

Вот мой конструктор:

 var builder = new HostBuilder();
var resolver = new myNameResolver();
builder.ConfigureWebJobs(buil =>
{
   buil.AddAzureStorageCoreServices();
   buil.AddAzureStorage();
   buil.AddServiceBus(servBus=>
   {
     servBus.MessageHandlerOptions.AutoComplete = false;
     servBus.MessageHandlerOptions.MaxConcurrentCalls = myMaxConcurrentCalls;
     servBus.ConnectionString = myServiceBusConnectionString;
     servBus.MessageHandlerOptions.MaxAutoRenewDuration = TimeSpan.FromHours(12);
    });
    buil.AddTimers();
});
builder.ConfigureServices(serv => serv.AddSingleton<INameResolver>(resolver));
builder.ConfigureHostConfiguration(config =>
{
  config.AddInMemoryCollection(BuildConfiguration(myStorageConnectionString));
  config.AddEnvironmentVariables();
});
builder.ConfigureAppConfiguration(buil => buil.AddEnvironmentVariables());
  

Ответ №1:

Вы заметили, что файл settings.job появляется после щелчка опубликовать как Azure WebJob … в Visual Studio? Я боюсь, что параметр CRON не был прочитан.

Вы должны использовать этот файл для настройки расписания для вашего веб-задания и задать свойства файла settings.job в Visual Studio как копию, если она более новая. введите описание изображения здесь

Этот файл также будет сохранен в Kudu. введите описание изображения здесьБолее подробную информацию о WebJobs вы можете найти в этом разделе.

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

введите описание изображения здесь

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

1. Спасибо, но я выполняю непрерывное веб-задание и требую, чтобы cron запускал функцию. Будет ли это разрешено и для непрерывного webjob?

2. Конечно, это работает для непрерывного веб-задания, потому что я использую непрерывное веб-задание для тестирования this.@user3627341

3. Как насчет сценария, в котором у меня есть несколько функций и несколько выражений cron. Я бы хотел не указывать «расписание» в settings.job, а другие ключи настроек приложения, которые должны содержать выражения cron. Это еще одна проблема, с которой я столкнулся сейчас.

4. Я боюсь, что невозможно установить несколько выражений cron в одном веб-задании, @user3627341. Вы можете обратиться к картинке, которую я обновил в своем ответе.

5. Привет, @user3627341. Если вы считаете мой ответ полезным, пожалуйста, примите его, нажав на ✔, чтобы его увидели больше людей.