繁体   English   中英

普通消费者可以在 MassTransit 中重试消息之前延长超时时间吗?

[英]Can a regular consumer extended the timeout before retrying the message in MassTransit?

目前,我处于一个事件需要更新数据库中一定数量的记录的情况。 通常,这不会超过几秒钟,但在某些情况下可能需要超过 1 分钟。 在这种情况下,消费者在 30 秒后获取相同的消息并重试。

我想知道是否可以在不使用 JobConsumers 的情况下增加等待那些罕见场景的时间最多 5 分钟。

您是否在接收端点上配置LockTimeout 30 秒? MassTransit 默认为 5 分钟,但如果队列已经配置了较低的锁定超时,Azure 服务总线将仅在重新传递消息之前等待该时间段。 如果队列已经存在,您需要使用 Azure 门户更新队列属性,或删除队列以便 MassTransit 重新创建它(任何消息都会丢失)。

您还可以将MaxDeliveryCount设置为1 ,Azure 将在一次尝试后将消息移动到死信队列。 不过,第一种方法更好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM