将消息重新发送回Azure队列是否存在任何问题
我在Azure中有一个调度程序和一些工作人员。调度器将消息放入队列,工作人员提取这些消息并处理它们。我现在进入了一个场景,一旦达到某个阈值,我需要将一些数据从表存储移到数据库中。这些项目需要按顺序处理,首先是最旧的项目。一旦达到该阈值,所有其他项目将按顺序处理。触发传输的当前消息需要填充在行的末尾并重新处理 所以,我的问题的核心是 只需按原样将消息重新发送到队列就可以了,还是有可能导致问题将消息重新发送回Azure队列是否存在任何问题,azure,message,azure-worker-roles,azure-queues,Azure,Message,Azure Worker Roles,Azure Queues,我在Azure中有一个调度程序和一些工作人员。调度器将消息放入队列,工作人员提取这些消息并处理它们。我现在进入了一个场景,一旦达到某个阈值,我需要将一些数据从表存储移到数据库中。这些项目需要按顺序处理,首先是最旧的项目。一旦达到该阈值,所有其他项目将按顺序处理。触发传输的当前消息需要填充在行的末尾并重新处理 所以,我的问题的核心是 只需按原样将消息重新发送到队列就可以了,还是有可能导致问题 queueProvider.SendMessage(message); 一位同事提到他“虽然他可能读过一
queueProvider.SendMessage(message);
一位同事提到他“虽然他可能读过一些关于需要做一些特别的事情的书。”我还没有看到任何东西证实他的怀疑,但是我想我会在这里提出这个问题,只是为了安全。简单的回答是,这很好。如果您有CloudQueueMessage,您可以将其发送到任何队列(这只是一天结束时的一个REST请求)。每次添加message()时,它都会创建一个新ID(可能是相同的pop收据,但这并不重要)。也就是说,有些事情你可能需要处理和/或调查:
建议队列使用者内的所有逻辑都是幂等的,因为消息实际上可以被多次拾取。我们必须记住,队列服务保证消息至少被传递一次,因此您可以使用这种方法复制消息