c# - 计划的 WebJob 未按计划调用函数

标签 c# azure azure-webjobs

我对 Azure Webjob 概念不熟悉。我正在尝试创建一个将被触发的 WebJob。

Program.cs

static void Main()
{
    var config = new JobHostConfiguration();

    if (config.IsDevelopment)
    {
        config.UseDevelopmentSettings();
    }

    var host = new JobHost(config);
    host.Call(typeof(Functions).GetMethod("MyMethod"));
    host.RunAndBlock();

}

Function.cs

[NoAutomaticTrigger]
public static void MyMethod()
{
   //Logic
}

我可以看到 My WebJob 正在运行,但仅在部署开始时调用该函数。我可以通过使用函数调用日志来运行该函数。

如果我没记错的话,它应该按照我的计划调用该函数,对吧?

最佳答案

您将在启动时使用此行触发作业 host.RunAndBlock();

如果您希望它由计划触发, 只需将 settings.job 文件添加到您的 webjob 项目中,其中包含您想要的 cron 时间

例如

{
  "schedule": "0 0 * * * *"
}

然后在你的program.cs中,只需使用

using (var host = new JobHost(config))
{
    host.Call(typeof(Functions).GetMethod("MyMethod"));
}

部署代码,不要忘记将 settings.job 复制到输出目录,并且 cron 设置应该在门户的应用程序 Webjob View 下可见

关于c# - 计划的 WebJob 未按计划调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53187975/

相关文章:

azure - 如何找到 AKS 群集的服务主体 secret ?

c# - 如何修复 'Azure.Identity.CredentialUnavailableException'

azure - 对于长时间运行的 CPU 密集型任务,在 Web 作业和 azure 函数之间进行选择

visual-studio - 使用 Azure 中的 Web 应用程序使用多个部署使 Webjob 成为单例

c# - ASP.NET 应用程序中的文件锁定(读/写)

c# - LINQ和nHibernate教程视频

c# - 将元素添加到 IEnumerable<IPublishedContent>

c# - 使用 IoC 解析 Action Methods 中的模型对象

Azure-Bicep:如何将 blob 容器添加到存储帐户

azure - 我如何在 04 :00 and 21:00 on every 5 minutes with Azure Web Job 之间安排工作