在风暴螺栓中:如何在一个螺栓任务中执行一行代码
问题描述:
我有一个带喷口和螺栓的风暴拓扑(numTasks = 16)。我只想在螺栓的一个任务中执行一段特定的代码(只有一次)。 我怎样才能做到这一点?在风暴螺栓中:如何在一个螺栓任务中执行一行代码
我想到在螺栓的准备方法中这样做,但我不知道将事先分配给螺栓的任务ID。
是否有可能做一个选举和存储在它的动物园管理员和稍后在螺栓的准备方法检索选举领导人,并与当前任务ID匹配。如果任务ID匹配选举首席执行该螺栓任务实例中特定的一段代码?如果这是一个合适的方法,我该如何解决?
答
您可以通过TopologyContext
作为#prepare()
的参数提供所有元信息来访问整个拓扑DAG。在那里你可以得到所有的任务ID,包括你自己的任务ID。因此,一个简单的方法是只运行你的特殊代码,如果你的任务有min(或max)task-id分配的话。
+0
谢谢,这有帮助! – Priyanka
还是有可能得到螺栓的准备方法中的所有螺栓taskIds的列表? – Priyanka