Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.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
Python 同步方法在做什么,心跳元组的频率是多少?_Python_Apache Storm - Fatal编程技术网

Python 同步方法在做什么,心跳元组的频率是多少?

Python 同步方法在做什么,心跳元组的频率是多少?,python,apache-storm,Python,Apache Storm,我使用的是Storm 0.9.3,使用的是Python 我指的是 谁能解释一下: 同步方法的作用是什么? 心跳元组的频率是多少? Storm 0.9.3引入了多语言子进程心跳。(实际上是我介绍的。) 正如您已经知道的,nimbus和主管检查工作人员的心跳,并在工作人员未及时写入心跳时采取适当的措施 Multilang子进程heartbeat也在做类似的事情,但它使用Multilang协议而不是ZK 在0.9.3之前,sync()仅用于ShellSpout,用于通知子流程执行next()已完成。

我使用的是Storm 0.9.3,使用的是Python

我指的是

谁能解释一下:

  • 同步方法的作用是什么?
  • 心跳元组的频率是多少?

Storm 0.9.3引入了多语言子进程心跳。(实际上是我介绍的。)

正如您已经知道的,nimbus和主管检查工作人员的心跳,并在工作人员未及时写入心跳时采取适当的措施

Multilang子进程heartbeat也在做类似的事情,但它使用Multilang协议而不是ZK

  • 在0.9.3之前,sync()仅用于ShellSpout,用于通知子流程执行next()已完成。在0.9.3之后,Storm为sync()添加了新的含义,“heartbeat”(表示通知我没事)

  • ShellSpoot不发送heartbeat元组,因为在正常情况下,Spoot的nextTuple()经常被调用,子流程的next()也经常被调用。ShellBolt每1秒向子进程发送心跳元组


  • 希望这能有所帮助。

    Storm 0.9.3引入了多语言子进程心跳。(实际上是我介绍的。)

    正如您已经知道的,nimbus和主管检查工作人员的心跳,并在工作人员未及时写入心跳时采取适当的措施

    Multilang子进程heartbeat也在做类似的事情,但它使用Multilang协议而不是ZK

  • 在0.9.3之前,sync()仅用于ShellSpout,用于通知子流程执行next()已完成。在0.9.3之后,Storm为sync()添加了新的含义,“heartbeat”(表示通知我没事)

  • ShellSpoot不发送heartbeat元组,因为在正常情况下,Spoot的nextTuple()经常被调用,子流程的next()也经常被调用。ShellBolt每1秒向子进程发送心跳元组


  • 希望这有帮助。

    这是否意味着如果一个多语言螺栓处理一个元组所需的时间超过1秒,它(多语言螺栓)将无法同步,并将被视为无效?否,ShellBolt在子进程响应sync()时更新时间戳。ShellBolt会定期检查时间戳,当当前时间戳和心跳时间戳之间的差值大于Config.SUPERVISOR\u WORKER\u TIMEOUT\u SECS时,它将被视为不可用。因此子流程必须处理一个元组,所用时间少于Config.SUPERVISOR\u WORKER\u TIMEOUT\u SECS-(一些余量)。实际上,ShellSpoot将所有子流程的响应都视为心跳,但它并没有应用于ShellBolt。你能回答我的这个问题吗?这是否意味着如果一个multilang bolt处理一个元组的时间超过1秒,它(multilang bolt)将无法同步,并将被视为已死亡?否,ShellBolt在子进程响应sync()时更新时间戳。ShellBolt会定期检查时间戳,当当前时间戳和心跳时间戳之间的差值大于Config.SUPERVISOR\u WORKER\u TIMEOUT\u SECS时,它将被视为不可用。因此子流程必须处理一个元组,所用时间少于Config.SUPERVISOR\u WORKER\u TIMEOUT\u SECS-(一些余量)。实际上,ShellSpoot将所有子流程的响应都视为心跳,但它并没有应用于ShellBolt。你能回答我的这个问题吗?这是否意味着如果一个multilang bolt处理一个元组的时间超过1秒,它(multilang bolt)将无法同步,并将被视为已死亡?否,ShellBolt在子进程响应sync()时更新时间戳。ShellBolt会定期检查时间戳,当当前时间戳和心跳时间戳之间的差值大于Config.SUPERVISOR\u WORKER\u TIMEOUT\u SECS时,它将被视为不可用。因此子流程必须处理一个元组,所用时间少于Config.SUPERVISOR\u WORKER\u TIMEOUT\u SECS-(一些余量)。实际上,ShellSpoot将所有子流程的响应都视为心跳,但它并没有应用于ShellBolt。你能回答我的这个问题吗?