如何在 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