[英]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上的隊列中的消息觸發的?
我懷疑該Web作業的存儲配置可能未指向正確的存儲帳戶。 請檢查您是否正在寫入使用Web作業配置的存儲帳戶的隊列。
另外要記住的一點是,如果Web作業托管在免費計划中,則該Web作業可能沒有運行。
Azure文檔中的一些要點
筆記
- 如果沒有對scm(部署)網站的請求,並且未在Azure中打開該Web應用程序的門戶,則處於免費模式的Web應用程序可能會在20分鍾后超時。 到實際站點的請求不會重置此設置。
- 需要編寫連續作業的代碼以使其在無限循環中運行。 僅當Web應用程序啟動時,連續作業才能連續運行。
- 基本和標准模式提供了“始終開啟”功能,啟用該功能可以防止Web應用程序變得空閑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.