作为streamparse开发的一部分,我们有一个批量处理元组的BatchingBolt。它适用于数据库等批量发送时更高效的数据库。
我最近提议将我们的BatchingBolt实现从使用定时器/线程方法转换为使用tick元组;然而,我的一位开发人员指出,使用我们当前的方法,当拓扑关闭时(并且它处于非活动状态),最终批次肯定会得到处理,而关于tick元组的任何地方都没有明确记录。
因此,我的问题是:在发出kill / deactivate之后,Storm会继续向tick发送tick元组,而它是在等待/非活动期间吗? topology lifecycle docs没有说清楚。
答案 0 :(得分:0)
AFAIK,“setup-tick!”从执行程序的启动(为每个执行程序安排tick计时器)调用,并且除非工作程序将被关闭,否则将发出tick元组。
简而言之,你的同伴是正确的。