CloudQueueMessage - 重试机制

时间:2015-09-24 08:44:52

标签: c# azure azure-storage azure-storage-queues

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

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

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

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

您有什么建议?

1 个答案:

答案 0 :(得分:2)

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