来自Service Bus的Azure Web作业读取消息在

时间:2016-04-07 14:32:55

标签: azure-webjobs servicebus

这里的场景是我们有一个服务总线队列和一个Web作业。 Web作业从服务总线队列中读取消息并调用逻辑,然后继续执行其他操作。

我们面临的问题是,在Web作业从服务总线读取消息之后,它偶尔会删除它,这会不断地导致逻辑应用程序被调用并使数据泛滥我们的数据库。

以下是从azure管理工作室看到的相关信息:

https://gyazo.com/7f57b460421d1bb4a69fcb8b5a9ff01f

如您所见,邮件没有锁定时间。我试图玩这些设置无济于事。

当我手动尝试从azure管理工作室删除该消息时,它也不成功,但没有收到错误消息。

有谁知道这里发生了什么?我觉得这是队列本身的问题而不是我们代码中的错误,因为我使用的2-3个工具无法从队列中删除此消息。

看起来消息只在特定时间后删除(但不会转到死信队列)。

由于

1 个答案:

答案 0 :(得分:1)

所以只是为了获取信息,我想出了自己的问题。当文件scraper作业运行时,它会在服务总线中放入一条消息。现在运行并获取该文件的webjob存储它刚刚在本地以及blob存储上拾取的文件。

问题是webjob保留了一个本地处理的队列,这个队列从未被清除过,因此每次webjob运行时,它都会处理所有以前的文件。