如何确保消息将在队列中停留10分钟

时间:2019-06-27 07:05:00

标签: azure azure-functions azureservicebus

我有两个应用程序tbody { display: block; height: 50vh; overflow: auto; } thead, tfoot, tbody tr { width: 100%; display: table; } thead, tfoot { width: calc( 100% - 1em); font-weight: bold }<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"> <table class="table"> <thead> <tr> <th>column1</th> <th>column2</th> <th>column3</th> <th>column4</th> </tr> </thead> <tbody> <tr> <td>td</td> <td>td</td> <td>td</td> <td>td</td> </tr> <tr> <td>td</td> <td>td</td> <td>td</td> <td>td</td> </tr> <tr> <td>td</td> <td>td</td> <td>td</td> <td>td</td> </tr> <tr> <td>td</td> <td>td</td> <td>td</td> <td>td</td> </tr> <tr> <td>td</td> <td>td</td> <td>td</td> <td>td</td> </tr> <tr> <td>td</td> <td>td</td> <td>td</td> <td>td</td> </tr> <tr> <td>td</td> <td>td</td> <td>td</td> <td>td</td> </tr> <tr> <td>td</td> <td>td</td> <td>td</td> <td>td</td> </tr> <tr> <td>td</td> <td>td</td> <td>td</td> <td>td</td> </tr> <tr> <td>td</td> <td>td</td> <td>td</td> <td>td</td> </tr> <tr> <td>td</td> <td>td</td> <td>td</td> <td>td</td> </tr> <tr> <td>td</td> <td>td</td> <td>td</td> <td>td</td> </tr> <tr> <td>td</td> <td>td</td> <td>td</td> <td>td</td> </tr> <tr> <td>td</td> <td>td</td> <td>td</td> <td>td</td> </tr> </tbody> <tfoot> <tr> <td>tfoot1</td> <td>tfoot2</td> <td>tfoot3</td> <td>tfoot4</td> </tr> </tfoot> </table>

App1 Console app App2 Azure func App

我们App1 is for enroll new customer

从App1中,我接受诸如customer-id,customer-name之类的输入,并将此消息发送到队列。 使用简单的代码-

App2 is for activate account for new customer

我需要为10分钟的场景添加任何设置吗?

在App2中,我需要阅读此消息,但需要确保10分钟后,App2才能使用该消息。 如何做到这一点,以确保消息在队列中停留10分钟。

当我在stackoverflow上搜索时,我发现了这个 need to ensure that each message that App1 sends is stored in a queue for 10 minutes before App2 uses the message  这意味着在发送消息时我需要设置一些内容?

1 个答案:

答案 0 :(得分:2)

您似乎正在寻找Scheduled messages

  

您可以将消息提交到队列或主题以进行延迟处理;例如,计划某个作业在某个特定时间可供系统处理。此功能实现了可靠的基于时间的分布式调度程序。

     

在定义的入队时间之前,计划的消息不会在队列中实现。在此之前,可以取消预定的消息。取消会删除邮件。

     

您可以通过在通过常规发送路径发送消息时设置ScheduledEnqueueTimeUtc属性来计划消息,也可以使用ScheduleMessageAsync API来显式地计划消息。后者立即返回计划的消息的SequenceNumber,以后可以使用它在需要时取消计划的消息。预定邮件及其序列号也可以使用message browsing发现。