Я пытался настроить задание с помощью простой функции с помощью TimerTrigger.
public class Processor
{
/// <summary>
/// Initializes a new instance of the <see cref="Processor"/> class.
/// </summary>
public Processor()
{
}
/// <summary>
/// Process the Leads to Marketo.
/// </summary>
[Disable("Processor.Disable")]
public async Task ProcessMessages([TimerTrigger("%Processor.TimerTrigger%")] TimerInfo timerInfo, TextWriter log)
{
// TODO : remove
await Task.FromResult(0);
}
}
Мои настройки определены в моем файле app.config:
<add key="Processor.TimerTrigger" value="00:01:00" />
<add key="Processor.Disable" value="false" />
При запуске моего веб-задания я настроил задание для использования INameResolver и timertrigger:
static void Main()
{
// Configure the job host
var config = new JobHostConfiguration
{
NameResolver = new ConfigNameResolver() // Resolve name from the config file.
};
config.UseTimers();
var host = new JobHost(config);
// The following code ensures that the WebJob will be running continuously
host.RunAndBlock();
}
При выполнении строки host.RunAndBlock()
возникло исключение:
Microsoft.Azure.WebJobs.Host.Indexers.FunctionIndexingException: метод индексации ошибок «ProcessMessages» ---> System.FormatException: строка не была распознана как допустимый интервал времени.
Я поставил точку останова в классе, реализующем интерфейс INameResolver
, но не попал.
Есть ли способ настроить NameResolver с помощью TimerTrigger?
Спасибо.