当前位置: 首页 > 知识库问答 >
问题:

如何在Storm中停止元组处理并执行其他代码

刘博雅
2023-03-14

我是Storm新手。我在用它做一个大学项目。

我创建了我的拓扑,有一个连接到MySql数据库的喷口和两个螺栓。连接到喷口的第一螺栓准备和移除元组中不需要的信息;第二,对元组进行过滤。

我在本地模式下工作。

38211 [Thread-14-movie-SPOUT] INFO  backtype.storm.daemon.executor - Processing received message source: __system:-1, stream: __tick, id: {}, [30]
67846 [Thread-10-__acker] INFO  backtype.storm.daemon.executor - Processing received message source: __system:-1, stream: __metrics_tick, id: {}, [60]
67846 [Thread-8-cleaning-genre-bolt] INFO  backtype.storm.daemon.executor - Processing received message source: __system:-1, stream: __metrics_tick, id: {}, [60]
67852 [Thread-10-__acker] INFO  backtype.storm.daemon.task - Emitting: __acker __metrics [#<TaskInfo backtype.storm.metric.api.IMetricsConsumer$TaskInfo@3c270095> [#<DataPoint [__emit-count = {}]> #<DataPoint [__process-latency = {}]> #<DataPoint [__receive = {read_pos=0, write_pos=1, capacity=1024, population=1}]> #<DataPoint [__ack-count = {}]> #<DataPoint [__transfer-count = {}]> #<DataPoint [__execute-latency = {}]> #<DataPoint [__fail-count = {}]> #<DataPoint [__sendqueue = {read_pos=-1, write_pos=-1, capacity=1024, population=0}]> #<DataPoint [__execute-count = {}]>]]
67853 [Thread-8-cleaning-genre-bolt] INFO  backtype.storm.daemon.task - Emitting: cleaning-genre-bolt __metrics [#<TaskInfo backtype.storm.metric.api.IMetricsConsumer$TaskInfo@38c3d111> [#<DataPoint [__emit-count = {default=1680}]> #<DataPoint [__process-latency = {}]> #<DataPoint [__receive = {read_pos=1621, write_pos=1622, capacity=1024, population=1}]> #<DataPoint [__ack-count = {}]> #<DataPoint [__transfer-count = {default=1680}]> #<DataPoint [__execute-latency = {movie-SPOUT:default=0.15476190476190477}]> #<DataPoint [__fail-count = {}]> #<DataPoint [__sendqueue = {read_pos=1680, write_pos=1680, capacity=1024, population=0}]> #<DataPoint [__execute-count = {movie-SPOUT:default=1680}]>]]
67854 [Thread-13-filtering-genre-BOLT] INFO  backtype.storm.daemon.executor - Processing received message source: __system:-1, stream: __metrics_tick, id: {}, [60]
67855 [Thread-13-filtering-genre-BOLT] INFO  backtype.storm.daemon.task - Emitting: filtering-genre-BOLT __metrics [#<TaskInfo backtype.storm.metric.api.IMetricsConsumer$TaskInfo@6d5c75a9> [#<DataPoint [__emit-count = {}]> #<DataPoint [__process-latency = {}]> #<DataPoint [__receive = {read_pos=1681, write_pos=1682, capacity=1024, population=1}]> #<DataPoint [__ack-count = {}]> #<DataPoint [__transfer-count = {}]> #<DataPoint [__execute-latency = {cleaning-genre-bolt:default=0.08333333333333333}]> #<DataPoint [__fail-count = {}]> #<DataPoint [__sendqueue = {read_pos=-1, write_pos=-1, capacity=1024, population=0}]> #<DataPoint [__execute-count = {cleaning-genre-bolt:default=1680}]>]]

我希望我的问题很清楚。提前感谢!

共有1个答案

拓拔意
2023-03-14

我读到最后一个元组处理后的这些行被认为是正常的。不是吗?

这些只是信息消息。所以不用担心他们。

如果我把代码放在包含submitTopology()方法的行之后,代码将在元组完成之前运行。

 类似资料:
  • 关于拓扑结构的说明: 喷口连续向读取螺栓发送元组。 读取bolt过程并将结果发送给下一个bolt等等。 在R bolt中处理tuple1之后还是在readbolt发送tuple1写入bolt之后?

  • 问题是,如果不停止整个程序,我就不能退出虽然循环。 当我在Raspberry Pi上执行代码时,相机开始录制,但当我想结束视频并按Ctrl c时,整个程序停止,而不是在while循环后继续。我以为信号处理器会捕捉到键盘中断,但它没有。 我的代码: 我尝试的是: 错误:

  • WordPress的contact form 7插件有一个扩展,我可以根据不同的条件隐藏某些表单字段(比如“其他”字段,在选择选项设置为“其他”之前一直隐藏)。不幸的是,如果其中一个字段被标记为必填字段,则会弹出一个错误,说明该字段是必填字段,即使用户从未看到该字段! 不幸的是,联系人表单7设置为不可逆字段无效:一旦字段无效,就无法重新验证,表单提交失败。由于CF7是如此可扩展,我需要一个解决方案

  • 我使用node创建restful api,在发送响应时感到困惑。 以下是示例代码: 当我在失败的移动验证响应期间未指定return时,它会继续执行代码并在控制台中打印“数据未定义”,但Invalid mobile message json会正确发送到客户端,而不会进行错误跟踪。 我不知道在nodejs中创建api时应该遵循什么样的正确方法。我担心的是,一旦发送了响应,就不应该进一步处理请求。此外,

  • 问题内容: 我使用以下代码在Python中启动并关闭 在脚本结束执行后,我仍然在Mac活动监视器中找到的实例。实际上,每次我运行脚本时,都会创建一个新进程。 我应该如何关闭驱动程序? 问题答案: 不保证该方法释放与驱动程序实例关联的所有资源。请注意,这些资源包括但不限于驱动程序可执行文件(在这种情况下为PhantomJS)。该方法旨在释放驱动程序的所有资源,包括退出可执行进程。

  • 我计划使用Spring Batch。我们喜欢在响应前端请求的POD中启动新作业执行。 伪代码: 但我们不希望作业在前端pod中执行。为此,我们希望构建一个单独的微服务吊舱。 我看到了以下解决方案: > 从前端pod到sping-batpod执行一个rest调用并在那里开始工作。我可以这样做,但如果可能的话,我想跳过该步骤并将其集成到sping-batdb上。 在前端pod中,我创建了具有大小为零的