问题标签 [routing-slip]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
distributed - 为什么当消费者在 MassTransit RouterSlip 中抛出异常时不调用 Compensate 方法
我在传奇状态机中构建了一个路由器滑动:
我有 TakeProductActivity 活动: public class TakeProductActivity : IActivity<TakeProductArgument, TakeProductLog>: ...
当我使用 sendEndpoint.Send() 方法(触发并忘记)时,当服务中发生异常时,补偿方法不会自动激活,但是当我使用 requestClient.GetResponse (request/reply) 方法调用服务时,当异常自动发生 Compensate 方法被调用。并且在 PaymentConsumer 中,当抛出异常时,它必须被称为付款的补偿方法,但事实并非如此!
问题是 MassTransit 无法从 rabbitMQ 获取异常并自动调用补偿方法。当路由器滑动活动中抛出异常时,我应该如何告诉 MassTransit 调用补偿
rabbitmq - MassTransit - 在路由单上优先处理 RabbitMQ 消息
RabbitMQ 支持消息优先级:https ://www.rabbitmq.com/priority.html
MassTransit 允许用户在配置端点和发送/发布消息时进行设置。
问题:在 MassTransit 中使用路线单时是否可以设置消息优先级?
我的问题:我们有一个可以立即安排项目或处理它们的屏幕。如果安排好,可以批量处理项目。如果同时处理数百个项目,在屏幕上保存一条记录可能需要几分钟,因为消息会排到队列的末尾,这可能会导致糟糕的用户体验。
那么,如果无法设置优先级,这里有什么替代方案?
谢谢!
masstransit - MassTransit - 在传送单活动中重新传递消息
我正在使用masstransit Courier 开展一个项目。我正在尝试在 1 小时后重新发送一条消息以重新执行活动。这是我在执行活动方法中的代码:
但不是重新交付,而是开始赔偿。我错过了什么?
c# - 如何正确监控 MassTransit Courier 路由单?
我设法通过一系列活动来实施 MassTransit Courier 路由单。我决定添加一个状态机来监控它,因此我创建了单独的事件和状态,并使用 EF Core 作为 Automatonymous 状态机的存储。为了跟踪当前状态,我在每个活动执行结束时发布一个事件。一切正常,我可以监控数据库中路由单的当前状态。
但这是最好的方法吗?根据 MassTransit 文档中的这一部分:https ://masstransit-project.com/advanced/courier/events.html看起来应该自动发布事件。那么也许还有另一种方法来监控路由单,它不需要创建事件并在每个活动中手动发布它们?
masstransit - MassTransit 消息加密和路由单事件
根据 MassTransit 文档,我已为我的 RabbitMQ 总线启用加密:
我还添加了对路由单完成事件的订阅:
虽然所有其他消息都按预期加密,但路由滑动事件以纯文本形式发送(可以在 RabbitMQ 队列中看到)并导致以下异常:
是否有一些额外的配置需要应用于路由单(我在 ISendEndpoint 界面上看不到任何相关内容)或者这是 MassTransit 中的错误?
masstransit - 使用快递重试消息
如您所知,在 Masstransit 中,我们可以设置 UseMessageRetry。该方法可以帮助我们再次重试消息发送过程。只要我们遇到错误,这个过程就会继续。我遇到的问题是这个设置是每条消息的单例。我想要的是为特定消息(信使)设置不同的配置。
我为所有消息设置的设置如下:
如果有人可以帮助我,我将不胜感激。