我使用Azure存储队列来处理我的项目处理流程。任务进入队列,由后台服务器处理并从队列中删除。
在某些情况下,某些任务的处理会失败(由于环境变量-无法预期)。在这种情况下,我想再次重试任务的执行。如果这次处理正常,则一切都很好-只需将其从队列中删除即可。否则,将其从队列中删除并将一些消息写入日志。
因此,我正在寻找一种将元数据添加到CloudQueueMessage项目的机制。我想到了一个称为“重试”的新元数据。这将是一个计数器。但是我看不到任何将元数据添加到队列项的选项。
另一种选择是使用Wrapper类包装我的物品,该类将添加“ retries”属性。将项目从队列中取出后,请使用修改后的“重试”值将其重新插入。这应该可行,但不是一个很好的解决方案。
您有什么建议?
不用了 当您的工作人员角色从队列中取出该物品时,该物品实际上仍在那儿,但标记为不可见。默认情况下,它是不可见的,持续30秒。您可以使用“ visibilityTimeout”设置可见性。该项目将保留在队列中,直到您将其删除。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句