JobHubTrigger上的JobHostConfiguration Queues.BatchSize效果

时间:2018-06-28 12:28:05

标签: c# azure-webjobs azure-webjobssdk

我目前正在尝试优化Webjob中一些继承的批处理代码。我关心的是config.Queues.BatchSize = 5;行。我不是Azure专家,因此在询问之前我已经做了大量的阅读。我的结论如下:config.Queues.BatchSize用于配置队列,如here所示,这意味着它根本不会影响webjob。您可以在下面看到初始化代码:

static void Main()
    {
        Console.WriteLine("Started...");
        JobHostConfiguration config = new JobHostConfiguration()
        {
            NameResolver = new EventHubNameResolver(),
        };
        var options = EventProcessorOptions.DefaultOptions;

        options.MaxBatchSize = 5;

        var eventHubConfig = new EventHubConfiguration(options);
        string eventHubName = ConfigurationManager.AppSettings["EventHubName"];

        eventHubConfig.AddReceiver(eventHubName, ConfigurationManager.AppSettings["EventHubConnectionString"]);

        config.UseEventHub(eventHubConfig);

        config.Queues.BatchSize = 5;
        JobHost host = new JobHost(config);
        host.RunAndBlock();
    }

当新项目到达EventHub时实际上被调用的函数是:

public static async Task ProcessData([EventHubTrigger("%EventHubName%")] string eventDataSet, TextWriter log)
    {
        ...
    }

我的第一个观察结果是,被调用函数中的第一个参数应为EventData[]类型,而不是string类型(在本地代码中已更改)。但是,在监视控制台输出时,我正在努力全面了解队列配置是否实际上影响了Webjob。

我应该期望config.Queues.BatchSize = 5;更改此Webjob的处理函数的调用方式吗?

0 个答案:

没有答案