0

我使用 Azure 存储队列来处理我的项目处理流程。任务正在进入队列,由后台服务器处理并从队列中删除。

在某些情况下,某些任务的处理失败(由于环境变量 - 这是无法预料的)。在这种情况下,我想再次重试任务的执行。如果这次处理很好,一切都很好 - 只需将其从队列中删除即可。否则,将其从队列中删除并将一些消息写入日志。

所以,我正在寻找一些将元数据添加到 CloudQueueMessage 项的机制。我想到了一个名为“重试”的新元数据。这将是一个柜台。但我没有看到任何将元数据添加到队列项目的选项。

另一种选择是使用将添加“重试”属性的 Wrapper 类包装我的项目。从队列中取出项目后,使用修改后的“重试”值重新插入它。这应该可行,但不是一个优雅的解决方案。

你有什么建议?

4

1 回答 1

2

你不必。当您的工作人员角色从队列中提取该项目时,它实际上仍然存在,但标记为不可见。默认情况下,它在 30 秒内不可见。不过,您可以使用“visibilityTimeout”设置可见性。该项目将保留在队列中,直到您将其删除。

于 2015-09-24T09:21:05.117 回答