簡體   English   中英

Azure WebJob不會觸發隊列

[英]Azure WebJob does not trigger queue

我創建了Azure WebJob。 將其發布為連續工作。

這是主要功能:

static void Main()
    {

        var config = new JobHostConfiguration();
        config.Queues.MaxPollingInterval = TimeSpan.FromSeconds(2);
        config.Queues.MaxDequeueCount = 3;
        var host = new JobHost(config);
        host.RunAndBlock();
    }

這是觸發隊列的函數:

   public static class Functions{
   public static void    ProcessQueueMessage([QueueTrigger("queue")]QueueMessage queueMessage, TextWriter log)
    {
        //du staff
    }
  }

比我發送消息到隊列稱為“隊列”,但未觸發作業。 同樣在儀表板中,我可以看到該作業已啟動並執行。

還有一刻:當我在本地計算機上調試它時,一切正常:當消息出現在隊列中時調用該函數。

為什么它不是由Azure上的隊列中的消息觸發的?

@Sandesh之后,我建議任何人首先檢查應用程序設置。

如下圖所示, AzureWebJobsDashboardAzureWebJobsStorage都應放置在Azure WebSites“配置”選項卡內的“ 應用程序設置”字段中。 這兩個鍵( AzureWebJobsStorageAzureWebJobsDashboard )經過硬編碼,因此請勿更改鍵名。

此外,僅放入App.config文件還不夠 請檢查這些值是否相應地位於“ Azure配置”選項卡的“應用程序設置”中。

在此處輸入圖片說明

我懷疑該Web作業的存儲配置可能未指向正確的存儲帳戶。 請檢查您是否正在寫入使用Web作業配置的存儲帳戶的隊列。

另外要記住的一點是,如果Web作業托管在免費計划中,則該Web作業可能沒有運行。

Azure文檔中的一些要點

筆記

  1. 如果沒有對scm(部署)網站的請求,並且未在Azure中打開該Web應用程序的門戶,則處於免費模式的Web應用程序可能會在20分鍾后超時。 到實際站點的請求不會重置此設置。
  2. 需要編寫連續作業的代碼以使其在無限循環中運行。 僅當Web應用程序啟動時,連續作業才能連續運行。
  3. 基本和標准模式提供了“始終開啟”功能,啟用該功能可以防止Web應用程序變得空閑。

暫無
暫無

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

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