Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache storm 谁调用了Spout.nextTuple()?_Apache Storm_Apache Storm Topology - Fatal编程技术网

Apache storm 谁调用了Spout.nextTuple()?

Apache storm 谁调用了Spout.nextTuple()?,apache-storm,apache-storm-topology,Apache Storm,Apache Storm Topology,我的问题是:在Apache Storm topology的喷口中,谁专门调用了nextTuple()方法 在一些资料来源中,有人写道,斯托姆本人就是这样做的,但这并不具体,也不清楚 风暴在什么条件下导致这种方法?预定的 有没有办法影响这个过程,比如说,减慢它的速度?它在这里被调用(Storm 2.0,对于1.x来说,它是一些clojure代码,做了类似的事情) 是的,暴风雪打了下三次电话。更准确地说,它是由喷口执行器线程调用的。我链接的方法在循环中调用。如果已到达topology.max.spo

我的问题是:在Apache Storm topology的喷口中,谁专门调用了
nextTuple()
方法

在一些资料来源中,有人写道,斯托姆本人就是这样做的,但这并不具体,也不清楚

风暴在什么条件下导致这种方法?预定的

有没有办法影响这个过程,比如说,减慢它的速度?

它在这里被调用(Storm 2.0,对于1.x来说,它是一些clojure代码,做了类似的事情)

是的,暴风雪打了下三次电话。更准确地说,它是由喷口执行器线程调用的。我链接的方法在循环中调用。如果已到达topology.max.spout.pending,Storm将跳过调用nextTuple

是的,当nextTuple不发射任何东西时,可以降低调用nextTuple的频率,以避免在没有发射任何东西时浪费CPU。注意这里的行,其中调用了等待策略。使用拓扑配置中的topology.spout.wait.strategy参数设置等待策略

如果没有任何要发射的信号,默认的等待策略将休眠1毫秒。您可以通过配置topology.sleep.spout.wait.strategy.time.ms来延长睡眠时间。不要将等待设置得太高,因为处理acks/fails与nextTuple发生在同一个线程中