簡體   English   中英

如何在Azure隊列觸發的webjobs中查看一批郵件中的項目數?

[英]How can I see the number of items in a batch of message in Azure queue triggered webjobs?

在我的Azure隊列觸發的webjob中,我根本不設置BatchSize(默認為16),或者將其設置為:

JobHostConfiguration.Queues.BatchSize = ...;

軼事(頻繁擊中F5)似乎無論設置如何,隊列中的項目數始終減少1。我想看看實際發生的情況-如何查看在任何情況下抓取的消息數給定的時刻。 該值似乎不是隊列觸發器元數據的一部分。

據我所知,BatchSize是同時拾取要並行執行的隊列消息的最大數量(默認值為16)。

在我看來,這意味着天藍色的webjobs將一次執行16個線程來執行該功能。

如果要查看在任何給定時刻抓取的郵件數。

我建議您可以在本地開發環境上編寫測試演示。

我建議您可以嘗試以下功能。

 public static void ProcessQueueMessage([QueueTrigger("queue")] string message, TextWriter log)
        {
            Console.WriteLine("start to execute queue : " + message );
            //log.WriteLine(message);
            Thread.Sleep(10000);
            Console.WriteLine("End to execute queue : " + message);
        }

代碼中的“ Thread.Sleep(10000)”將使線程休眠10秒鍾。

然后,您可以先在隊列中添加20條消息並運行webjobs。

您會發現結果如下:

首先將執行16個線程來執行該功能: 在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM