想要在 Azure Web 作业中以不同的时间间隔触发不同的方法
Want to trigger Different methods at different time interval in Azure Web Job
我通过网站托管了我的 Web 作业(选项 Added Existing project as a Azure Webjob)。我想在不同的时间间隔触发不同的方法。
代码:
static void Main()
{
var config = new JobHostConfiguration();
config.UseTimers();
var host = new JobHost();
host.RunAndBlock();
}
public static void TimerTrig1([TimerTrigger("00:00:02")] TimerInfo timer)
{
Console.WriteLine("Triggered");
}
public static void TimerTrig2([TimerTrigger("00:00:04")] TimerInfo timer)
{
Console.WriteLine("Triggered");
}
和 webjob-publish-settings.json 是:
{
"$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json",
"webJobName": "KentDataImporterWebJob",
"runMode": "Continuous"
}
我需要一个解决方案,以便我可以在 2 秒或 4 秒内触发这些功能。
因此,当我的 azure web 作业托管在不同的网站上时,我想在 Azure Web 作业中的不同时间间隔触发不同的方法。
您的代码看起来不错。一些注意事项:
确保在程序 class 的 Main 方法中调用了 config.UseTimers() 方法。如果不这样做,您的 TimerTriggers 将不会触发。此外,请确保您的 WebJob 是连续的。
public static void Main()
{
var config = new JobHostConfiguration();
config.UseTimers();
var host = new JobHost(config);
host.RunAndBlock();
}
我通过网站托管了我的 Web 作业(选项 Added Existing project as a Azure Webjob)。我想在不同的时间间隔触发不同的方法。
代码:
static void Main()
{
var config = new JobHostConfiguration();
config.UseTimers();
var host = new JobHost();
host.RunAndBlock();
}
public static void TimerTrig1([TimerTrigger("00:00:02")] TimerInfo timer)
{
Console.WriteLine("Triggered");
}
public static void TimerTrig2([TimerTrigger("00:00:04")] TimerInfo timer)
{
Console.WriteLine("Triggered");
}
和 webjob-publish-settings.json 是:
{
"$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json",
"webJobName": "KentDataImporterWebJob",
"runMode": "Continuous"
}
我需要一个解决方案,以便我可以在 2 秒或 4 秒内触发这些功能。
因此,当我的 azure web 作业托管在不同的网站上时,我想在 Azure Web 作业中的不同时间间隔触发不同的方法。
您的代码看起来不错。一些注意事项:
确保在程序 class 的 Main 方法中调用了 config.UseTimers() 方法。如果不这样做,您的 TimerTriggers 将不会触发。此外,请确保您的 WebJob 是连续的。
public static void Main()
{
var config = new JobHostConfiguration();
config.UseTimers();
var host = new JobHost(config);
host.RunAndBlock();
}