我有一个Azure WebJob,我使用CloudQueue与它进行通信。 从我的Web应用程序:
logger.Info("Writing Conversion Request to Document Queue " + JsonConvert.SerializeObject(blobInfo));
var queueMessage = new CloudQueueMessage(JsonConvert.SerializeObject(blobInfo));
documentQueue.AddMessage(queueMessage);
我在我的日志文件中验证我看到正在写的INFO语句。
然而,当我去我的队列时:
令我更加困惑的是......这个队列之前充满了信息,包括今晚的时间戳。
我去了我的队列,清除后,它将不再收到消息。
有没有人见过这个?
答案 0 :(得分:2)
正如Gaurav Mantri在评论中提到的那样,消息应由您的WebJob处理。当达到最大尝试次数时,将被移动到毒药队列。
我们还可以从azure官方tutorials获取有关毒药消息的更多详细信息。以下是tutorials的摘录。
内容导致功能失败的邮件称为有害邮件。当函数失败时,队列消息不会被删除,最终会再次被拾取,从而导致循环重复。 SDK可以在有限次数的迭代后自动中断循环,或者您可以手动执行。
SDK最多会调用一次函数来处理队列消息。如果第五次尝试失败,则消息将移至毒性队列。 The maximum number of retries is configurable