- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对MassTransit使用者是否可以在实际检索msg之前可以Peek()一个MSMQ队列感到好奇。
步骤/过程是什么:
1)消息已发送到队列
2)消费者获取它并必须进行数据库更新-大约需要5秒钟
3)如果第一轮工作,消费者必须进行第二轮更新。
我的问题是,如果第一次数据库更新失败,则消息会停留在队列中(即网络问题,无法到达数据库),该如何处理。
当前,一旦它从队列中读取了消息,它就会将其删除,然后,如果数据库更新失败,它就会消失。
此外,我该如何处理电源故障-我的意思是,如果消费者在完成“工作”的途中途(无论是什么(数据库更新或其他)以及电源中断等),如何重新运行该流程?队列中的消息?可以说,这项工作(无论如何,在我目前的情况下)是将新行推送到表中。我的意思是我可以编写代码来首先检查该行是否存在,然后是否删除该消息,如果不是,则运行该任务,但是我如何才能首先获取它以重新运行整个过程?
我已经读过我可以Peek()
队列,然后运行任务,然后读取队列中的msg并将其删除,但是我一生都无法弄清楚这是否适用于大众运输...有点丢失。 。
另外,我知道Masstransit有.RetryLater
,但是我是否在此过程中使用了它?是传奇中的Initially
-> When
-> Then
-> .RetryLater
吗?
任何指针将不胜感激
最亲切的问候
罗宾
编辑
PS:我正在使用一个传奇。
Define(() =>
{
RemoveWhen(saga => saga.CurrentState == Completed);
Initially(
When(NewAC)
.Then((saga, message) => saga.ProcessPSM(message),
InCaseOf<Exception>()
.TransitionTo(Problem)
)
.Then((saga, message) => saga.PostProcessPSM())
.Complete()
);
During(Problem,
When(Waiting)
// NOTE: THIS DOES NOT WORK!!!!
.RetryLater()
);
});
最佳答案
MassTransit抽象了基础队列的概念。因此,Peek不是解决方案,
但是它还有其他重试消息的方法。如果您只对处理错误和故障情况感兴趣,则可以使用以下机制。
默认情况下,如果使用者抛出异常,则该消息将重试N次:
public class RetryConsumer : Consumes<AwesomeMessage>.Context
{
public void Consume(IConsumeContext<AwesomeMessage> message)
{
try
{
Console.WriteLine("This is Attempt " + message.RetryCount);
// Do Something
}
catch (SomeTransientException e)
{
message.RetryLater();
}
}
}
关于大众运输消费者死亡-Peek(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13984042/
我有一个Rails应用程序,它的搜索系统取决于elasticsearch,我已经使用盆景插件将其推到heroku上,但是每当我尝试在我的应用程序上搜索内容时,都会在日志中给我这个错误。 2017-07
有什么方法可以禁用 Magento 中的购物卡/结账/送货选项吗? 我正在开发一个产品比较网站,其价格是从联属网站列出的。 我实际上并没有在我的网站上销售任何东西。 最佳答案 aDVo,如果禁用以下m
这是关于 iOS 设备蓝牙配件开发的指导请求。 公开可用的文档/讨论似乎有限;我认为这是由于 MFI NDA。 如果配件开发像一般的 iOS 开发一样易于访问,我没有找到我期望的 iOS 蓝牙配件的数
我有下一个问题: 我在名为的汽车的榻榻米中有一个水桶。 我在Elasticsearch中具有索引-名为测试 我映射了我的文档。 在 elasticsearch 配置中,我设置了: couchbase.
我遇到了 woocommerce 运输问题,这是我在购物车页面上遇到的错误。 Fatal error: Call to a member function get_label() on null in
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。 9年前关闭。 Improve this que
您好,我正在使用 WooCommerce 为客户创建一个 wordpress 网站。该站点已完成,但客户希望能够从 shop_order 页面创建发货。我已经弄明白了大部分,问题是我对 UPS API
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 2 年前。 Improve this qu
用户从桶中选择 1 到 {N} 个产品 对于每个产品,供应商提供 {N} 个报价 我想给用户机会告诉他 我想要的输出: 如果您从供应商 (A) 处购买 5 件产品的总成本为 87 美元 如果您从供应商
FedEx 运输 API 是否具有 SOAP 端点?我找不到 WSDL 端点。 最佳答案 自从这里的其他 2 个答案以来,他们的网站已经更改。 最直接的答案是他们没有经典的 WSDL 端点,您只需在其
我正在将 Nodejs UPS 运输 API 与我的网站集成。我正在使用this模块。我使用了取货API。但它抛出错误 Missing or invalid AccountNumber UPS 。添加
我是一名优秀的程序员,十分优秀!