首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LMAX中断程序超时EventHandler

LMAX中断程序超时EventHandler
EN

Stack Overflow用户
提问于 2013-12-05 14:43:17
回答 1查看 460关注 0票数 1

我们有一个使用中断程序框架的系统,它有五个实现EvenetHandler的注册阶段。

各个阶段按顺序工作,因此当第一个阶段完成时,请求只能移动到第二个阶段,此移动由Disruptor内部维护。

我们遇到了第三个阶段的问题,这是一个瓶颈,它需要花费大量时间进行不同的HTTP调用,并将响应存储在请求对象中。

因此,在第三阶段花费了一段时间之后,我们希望将请求(无论它有什么响应)移动到第四和第五阶段。

如何使任何特定阶段(在本例中为第三阶段)超时,并强制将请求移至下一阶段?

或,

有没有一种方法可以注册一些在某个定义的超时后触发的事件,这可能是类似于系统级的超时?

EN

回答 1

Stack Overflow用户

发布于 2013-12-16 14:13:19

我们尝试的一个解决方案是

  1. 有一个挂起检测线程,它监视由一个阶段(或所有阶段)处理的序列。在事件处理器本身中有一个计时信息。
  2. On time On time On time中断事件处理器线程。这应该使事件处理器退出它正在进行的旋转。因此,这里我们丢失了处理stage
  3. 的线程(或其中一个线程),替换了事件处理器线程。

解决方案需要编写我们自己的事件处理器,它是中断感知的,并提供了向中断程序动态添加事件阶段的功能

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20393241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档