#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. Если вы считаете мой ответ полезным, пожалуйста, примите его, нажав на ✔, чтобы его увидели больше людей.