从喷口杀死风暴拓扑

问题描述 投票:0回答:1

我们有一个用例,我们不希望连续运行风暴拓扑。相反,有一组输入(10K +)应该在指定时间处理,Spout连续发出这些输入并由拓扑中的其余螺栓处理。处理完所有输入后,我的喷口中没有任何东西从nextTuple中发出。

此时我们希望我们的拓扑进入睡眠状态,并在每天上午12:00进行重启。

是否有任何属性可以在storm配置中设置为每天运行一次拓扑并在完成处理并在指定时间开始后休眠?

apache-storm topology
1个回答
0
投票

我不知道你要求的功能。 Storm不是一个批处理系统,它意味着不断运行。考虑一下Storm是否适合这个用例。

也就是说,你应该能够实现你想要的。您可以在鲸鱼喷水输入结束时输入“我已完成”消息。当spout命中该消息并且所有其他待处理消息被激活时,它可以使用Nimbus客户端来终止或停用拓扑(取决于您是要杀死还是取消激活),请参阅https://stackoverflow.com/a/37134473/8845188。然后最后一步将使用您最喜欢的调度软件每天午夜重新提交/重新激活拓扑。

© www.soinside.com 2019 - 2024. All rights reserved.