当前位置: 首页 > 知识库问答 >
问题:

Webjob始终以连续且未触发的形式发布

傅穆冉
2023-03-14

我有一个Azure WebJobs,我正在从Visual Studio 2017发布到标准S1应用服务,WebJobs应该由CRON触发,但总是发布为连续,我不知道我做错了什么(另外两个WebJobs发布罚款)

我在根目录下有一个settings.job文件和我的日程安排

{
     "schedule": "0 3 5 * * 1-5"
}

我的程序课

namespace EventPushUpdater
{
    using Microsoft.Azure.WebJobs;
    using MBL.AzureKeyVaultHelpers;

    internal class Program
    {
        private static void Main()
        {
            Properties.Settings s = Properties.Settings.Default;

            IKeyVault kv = new KeyVaultHelper(s.ClientId, s.ClientKey, s.KeyVaultRoot);

            var config = new JobHostConfiguration();
            config.DashboardConnectionString = kv.GetSecretValue(s.DashboardConnectionString);
            config.StorageConnectionString = kv.GetSecretValue(s.DashboardConnectionString);            
            var host = new JobHost(config);

            host.Call(typeof(Functions).GetMethod("PushEvents"), new { keyVault = kv });
        }
    }

}

以及正在调用的函数

public class Functions
{
    [NoAutomaticTrigger]
    public static void PushEvents(IKeyVault keyVault)
    {
         // do stuff
    }
}

共有3个答案

端木安国
2023-03-14

您是否在您的settings.job中设置了{"is_singleton": true}?如果是这样,您将无法运行多个Web作业实例。如果您将Web作业发布并运行到Azure云,除非您使用不同的存储帐户,否则您永远无法在本地运行它。

Azure Webjob 计时器触发器不触发

徐鑫鹏
2023-03-14

通过编辑webjob发布设置,可以在“连续”和“触发”模式之间切换。在WebJob项目的Properties文件夹中找到的json文件。

在这个json文件中,您可以将“runMode:”设置为连续或点播(触发):

施永宁
2023-03-14

第一次选择“发布为WebJob”时,它会询问您是希望连续发布还是按需发布(包括计划发布):

如果选择了错误的选项,只需删除“属性”下的 webjob-publish-settings.json,然后重试。

顺便说一句,您的代码过于复杂,因为您不必要地使用WebJobs SDK。相反,您的代码可以简单地是:

    static void Main()
    {
        // Do Stuff
    }
 类似资料:
  • 我有一个Azure Web作业,其中包含一些blob触发的函数。我通过门户上的添加作业对话框将其上传到Azure,并将其设置为“连续运行”预期的行为是,任何时候将blob添加 /modifiedblob中指定的容器都会触发调用相应的函数。但是这不会发生。 触发这些功能的唯一方法(在上传blobs之后)是停止web作业并再次重启它。 每次我重启作业时,这些功能似乎都被触发了,而且只触发了一次。任何后

  • 当我的函数方法签名如下时,我有一个成功触发的v3 WebJob: 然而,当我添加一个输出blob时,BlobTrigger永远不会触发。 下面的文档如下:https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-blob#output

  • 我已经创建了一个Azure webwork,它将向服务总线队列发送强类型消息,并成功发送。 我想创建另一个webjob,只要servicebus队列中有消息,就会触发该webjob。请在下面找到我正在尝试的代码。出于某种原因,尽管servicebus队列中有消息,但当我在本地运行webjob时,webjob未被触发并出现错误。 错误: 代码: 有谁能帮我解决这个问题吗? 谢谢

  • 问题内容: 我正在尝试使用jQuery和JSON执行一些基本操作。目前,jQuery在从我的游戏框架应用程序接受JSON响应方面遇到困难。下面是仍然会产生错误的代码的简化版本。 错误回调总是被触发。它显示 错误…未调用parsererror jQuery15001997238997904205_1298484897373 通过Firebug检查返回的JSON不会显示任何错误,并且各种JSON li

  • HTTPProxyHandler总是发送连接请求是正确的吗?这不是只在你想做隧道的时候才适用吗?

  • 问题内容: 我遵循了Google提供的“ 本地服务”示例,但是我始终返回false,并且从未调用过。 我知道那会立即返回,但是我的对象永远不会触发。 我不知道这些是否适用 我的活动在tabHost内运行,我想知道这是否可以以任何方式影响服务绑定。 服务本身可能有问题,但是我可以将启动服务调用到具有相同功能的相同服务,并且可以按预期工作。 有任何人对此有经验吗?请帮帮我。 谢谢,PS我的目标是And