社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  MQ

rabbitmq生成\我想忽略的跳过队列

Ozkan • 6 年前 • 725 次点击  

有人能猜出问题是什么吗?因为我对如何解决这个问题一无所知。rabbitmq生成 _跳过 排队,我不知道为什么会产生这些。它是在执行发布请求响应时生成的。

在MassTransit.RequestClientExtensions中使用以下方法创建请求客户端

public static IRequestClient<TRequest, TResponse> CreatePublishRequestClient<TRequest, TResponse>(this IBus bus, TimeSpan timeout, TimeSpan? ttl = null, Action<SendContext<TRequest>> callback = null) where TRequest : class where TResponse : class
{
  return (IRequestClient<TRequest, TResponse>) new PublishRequestClient<TRequest, TResponse>(bus, timeout, ttl, callback);
}

请求如下:

TResponse response = TaskUtil.Await(() => requestClient.Request(request));

正如您所看到的,这是一个请求响应场景,其中请求被发送到所有消费者。但因为目前我们只有一个消费者,它只被发送给那个消费者。如果对多个使用者执行PublishRequestResponse,则死信很容易出现,一旦一个使用者作出响应,另一个使用者就不知道应该在哪里响应,并生成死信。但是因为我们这里只有一个消费者,我们可以消除这种可能性。

那么,这些跳过的队列还有什么其他原因呢?非常感谢您帮助我解决这个问题…

我不得不说,在消费方法中,在某些情况下,我们提出了 RequestTimeoutException 并在请求的应用程序中捕获它。这是经过测试的,不会生成跳过的队列。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38854
文章 [ 1 ]  |  最新文章 6 年前