首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
宝塔
V2EX  ›  Java

关于管理 storm bolt 运行时间的问题

  •  
  •   darkem4869 · 202 天前 · 442 次点击
    这是一个创建于 202 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近工作上碰到一个问题想请教一下各位前辈: 背景: 一个 sendBolt 去拆分日期,分成每一天, 一个 readbolt 去处理每一天的任务, 包括连接数据库,获取数据,计算等, 需求: 现在由于请求量大, 导致处理一个任务时间(计算一天的任务)时间超长, 现在希望监控这个 bolt 处理的时间,超过 10s 就把这个 bolt 关掉(核心需求) 最好是把这个超时任务的 blot 相关的其他任务都关掉(附加需求)

    需求例如: 你要数你办公室里同事总共有多少根头发> sendBolt 就是分成每个人, readbolt 就是把脑袋分成左右两边,然后开始数, 需求是: 当你数这个人的头发超过 10s 了, 你就不数了(核心)最好通知别人也不数了.

    现在我的想法是在 execute 中去建一个 futruetask,利用线程 futruetask 的超时机制来抛出异常来实现,而组长说这么做会不好管理,怕内存泄漏,反正他就是怕麻烦.

    所以请问各位有什么好的想法吗

    3 回复  |  直到 2019-05-13 17:10:49 +08:00
        1
    darkem4869   202 天前
    不要沉了吧.大家都没有想法了嘛
        2
    xinQing   201 天前
    storm 没这样玩啊,都是常驻运行,关掉干啥,复用不行么
        3
    darkem4869   187 天前
    @xinQing 可能我没有表述清楚, 一个任务分散了, 然后由于在 bolt 里面进行了查询操作, 比较耗时, 如果超过 2s 的话,希望这个 bolt 中断, 而且和分散的任务也中断
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2283 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 22ms · UTC 07:11 · PVG 15:11 · LAX 23:11 · JFK 02:11
    ♥ Do have faith in what you're doing.