如何在 azure 中调用预定的 webjob?
how to call scheduled webjob in azure?
我下载了一些 azure webjob 示例并感到困惑。我想要的很简单:
给定一个由 Cron 语法控制的特定时间(一天一次),我想调用一个方法来做一些繁重的工作。
从我下载的例子来看,总有一个主程序:
static void Main(string[] args)
{
JobHost host = new JobHost();
host.RunAndBlock();
}
然后您可以定义一个触发器(例如 QueueTrigger)
public static void GenerateThumbnail(
[QueueTrigger("thumbnailrequest")] BlobInformation blobInfo,
[Blob("images/{BlobName}", FileAccess.Read)] Stream input,
[Blob("images/{BlobNameWithoutExtension}_thumbnail.jpg")] CloudBlockBlob outputBlob)
{
}
但是,我不需要队列项来触发某些东西,我只需要当我的 Cron 时间匹配时,我的方法(比如 Functions.DoThis())就会被触发。
不幸的是,我就是找不到办法做到这一点。有人可以帮忙吗?
您可以使用定时器触发器来执行此操作,例如
// Runs once every 5 minutes
public static void CronJob([TimerTrigger("0 */5 * * * *")] TimerInfo timer)
{
Console.WriteLine("Cron job fired!");
}
有关详细信息,请参阅 this page。
我下载了一些 azure webjob 示例并感到困惑。我想要的很简单: 给定一个由 Cron 语法控制的特定时间(一天一次),我想调用一个方法来做一些繁重的工作。
从我下载的例子来看,总有一个主程序:
static void Main(string[] args)
{
JobHost host = new JobHost();
host.RunAndBlock();
}
然后您可以定义一个触发器(例如 QueueTrigger)
public static void GenerateThumbnail(
[QueueTrigger("thumbnailrequest")] BlobInformation blobInfo,
[Blob("images/{BlobName}", FileAccess.Read)] Stream input,
[Blob("images/{BlobNameWithoutExtension}_thumbnail.jpg")] CloudBlockBlob outputBlob)
{
}
但是,我不需要队列项来触发某些东西,我只需要当我的 Cron 时间匹配时,我的方法(比如 Functions.DoThis())就会被触发。
不幸的是,我就是找不到办法做到这一点。有人可以帮忙吗?
您可以使用定时器触发器来执行此操作,例如
// Runs once every 5 minutes
public static void CronJob([TimerTrigger("0 */5 * * * *")] TimerInfo timer)
{
Console.WriteLine("Cron job fired!");
}
有关详细信息,请参阅 this page。