[英]Azure Function and storage queue
我嘗試將Azure Storage Queue與azure函數一起使用,並且我想象它非常簡單-從隊列中獲取消息,進行處理,並在必要時添加新消息。 但是現在我一團糟,在函數處理當前消息時讀取了消息(我的過程很長),有時我看到隊列中的消息已經很久了。
可以用任何方式說Azure函數:
而已。 沒有任何復雜的邏輯。 可能嗎?
根據以上評論
服務總線中的消息觸發了您的功能。 您處理該消息。 如果您滿意並在給定的執行時間內完成(默認5分鍾),則消息將標記為已完成。 如果您不滿意,請拋出異常。 該功能將認為消息未完成並放棄它,因此它會重新出現在隊列中,但是您的重試計數將一直增長,直到達到最大值,然后將消息發送到死信隊列。
需要注意的幾點
如果您不拋出異常並且進程自己執行(由於某些處理錯誤),則它仍將其視為已放棄的消息,並將重試。 但是,如果函數成功執行而沒有引發任何錯誤,但是結果不是您想要的,則拋出您自己的異常。
同樣在服務總線中,增加鎖定時間以匹配功能的處理時間。 例如,函數需要5分鍾才能完成,但是您在服務總線中的消息鎖定時間為30秒,消息將重新出現在消息隊列中,而消息的另一個副本仍在由函數處理。 因此,請增加您認為足以使功能完成該過程的服務總線消息鎖定時間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.