当前位置: 首页 > 知识库问答 >
问题:

从队列获取消息仅检索单个消息

尤夕
2023-03-14

我已经使用手动触发器创建了一个azure服务总线和一个新的逻辑应用程序。然后,我将“从队列获取消息(peek lock)”操作添加到应用程序中,并将最大消息数设置为“20”。

然后我在我的队列中手动创建5条新消息,然后触发我的新逻辑应用程序。然后,当我查看应用程序的执行情况时,我只看到检索到一条消息(并检查,有4条消息仍在我的队列中)。

似乎“20”的计数没有得到尊重。我还检查了我的服务总线队列的设置,“最大交付计数”设置为“10”。这至少应该给我10批(而不是20批)。

我错过了什么?

共有1个答案

禄烨然
2023-03-14

没有更多细节的回答没有那么简单。我仍然希望这能有所帮助。

如果您使用的是WebJob,请确保关联的AzureWebJobsStorage是以经典模式而不是远程模式创建的。这会让你的WebJob在20秒内崩溃。。。未读取所有队列消息。

您的逻辑应用程序是否涉及ServiceBustigger?然后,第一次调用带有correct trigger标记的方法似乎异常失败,并且没有读取其他消息。

如果我误解了一些细节,请告诉我。

 类似资料:
  • 为什么已经拥有了共享内存时需要消息队列呢? 这将是多种原因,让我们将其分解为多个点来简化 - 据了解,一旦消息被一个进程接收到,它将不再可用于任何其他进程。 而在共享内存中,数据可供多个进程访问。 如果想使用小信息格式进行通信。 当多个进程同时进行通信时,共享内存数据需要同步保护。 使用共享内存的写入和读取频率很高,那么实现功能将会非常复杂。 在这种情况下不值得使用。 如果所有的进程不需要访问共享

  • 一、消息模型 点对点 发布/订阅 二、使用场景 异步处理 流量削锋 应用解耦 三、可靠性 发送端的可靠性 接收端的可靠性 参考资料 一、消息模型 点对点 消息生产者向消息队列中发送了一个消息之后,只能被一个消费者消费一次。 发布/订阅 消息生产者向频道发送一个消息之后,多个消费者可以从该频道订阅到这条消息并消费。 发布与订阅模式和观察者模式有以下不同: 观察者模式中,观察者和主题都知道对方的存在;

  • 一个线程会从消息队列中收取消息,另一个线程会定时给消息队列发送普通消息和紧急消息 一个线程会从消息队列中收取消息,另一个线程会定时给消息队列发送普通消息和紧急消息 源码/* * Copyright (c) 2006-2018, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: *

  • 消息队列接口 结构体 struct   rt_messagequeue   消息队列控制块 更多...   类型定义 typedef struct rt_messagequeue *  rt_mq_t   消息队列类型指针定义   函数 rt_err_t  rt_mq_init (rt_mq_t mq, const char *name, void *msgpool, rt_size_t msg_

  • rabbitmq 使用 定义handler实体 public class UserEvent : EventHandler { public string Name { get; set; } public string Job { get; set; } } 队列定义 [QueueConsumer(nameof(HelloEventHandler), QueueCon

  • 我有一个应用程序,在这个应用程序中,我可以在进程的一部分中以JSON格式将消息写入Azure服务总线队列。我有一个下游进程,我想将该消息从队列中弹出,将json转换为一个对象,然后处理该对象。 我没有问题将消息推送到队列上,但我还没有找到任何将消息从队列中逐一或循环弹出的示例。我在微软或Github上看到的每一个例子都是一个控制台应用程序(在网络应用程序中毫无用处),它设置了某种侦听器,可以抓取队