c# - RabbitMQ 消费者作为 Windows Worker
问题描述
尝试containerised
使用 docker 创建 Windows 服务来使用rabbitmq
队列中的消息。我也在使用EasyNetQ
客户端连接 RabbitMQ。
但是它因Persistent
通道超时异常而失败
在 PersistentChannel 上请求的操作超时
这是我执行消费者的代码
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
while (!stoppingToken.IsCancellationRequested)
{
try
{
using (var bus = RabbitHutch.CreateBus("host=localhost;username=guest;password=guest"))
{
bus.Receive("Queue", msg => msg.Add<CustomModel>(m =>
{
_logger.LogInformation("Received Message: {0}, {1}", m.Prop1, m.Prop2);}));
}
_logger.LogInformation("Worker running at: {time}", DateTimeOffset.Now);
}
}
catch (Exception ex)
{
_logger.LogError(ex.InnerException?.ToString());
}
}
}
我不确定是什么导致超时?有人有类似的问题吗?
解决方案
推荐阅读
- python - ggplot 总结 y 轴上分类变量的平均值
- vb.net - 在 VB .net 中使用 UTF-8 处理 ä,ö,ü 等
- macos - mac 的 SSH 设置以创建别名
- javascript - 使用 JavaScript 将外部 JSON 文件中的数据提取到 innerHTML 表中
- python-3.x - 这段代码如何在 python 中存储矩阵?
- jquery - 我的表单和搜索与我的城市天气搜索的 jquery 代码交互的问题
- vue.js - 匹配路由到 VueJS 中的预选值
- c# - 无法使用 XtendedEvents C# 捕获查询详细信息
- wpf - 显示 CollectionViewSource 的每个元素的索引
- session - 更改源代码后重新创建 ASP.NET Core 3.1 会话