【发布时间】:2021-07-06 17:01:02
【问题描述】:
我已经在 plotly 中查看了流图的实时更新,但这并不是我想要做的。我有一个图形组件,单击按钮组件即可填充该组件。在更新图形的回调中,创建了一个对象,并从该类调用了一个方法,该方法使用 apache kafka 流生产者返回一个 15 个值的流。然后,我在回调中有 apache kafka 消费者,它一一接收值。但是,我试图让这些值也一一出现在我的仪表板上。我尝试使用间隔组件,但这似乎只是每秒调用一次函数,这意味着脚本在调用函数时会卡住并且不执行任何操作。
如果有任何帮助,我们将不胜感激,如有必要,可以提供更多详细信息。
【问题讨论】:
-
您好,更多细节会很棒,可能是代码 sn-p 。但是从我读到的内容中,您想要执行回调-> pub/sub 函数而不是间隔,一旦您从kafka 获得事件,您想要将事件异步推送到侦听器,这将确保它不会阻塞.. 但是有一个 sn-p 我可以提供进一步的帮助
-
@Gabriel 我已经包含了 sn-p
-
问几个问题,你们是怎么重构消费者点击的? ,我要做的是在构造函数的 init 上构造它们..所以就在 some_object.simulate() 下面那么你也应该使用 multiprocessing.Process 线程化消费者,就像你对生产者所做的那样,然后当消费者触发它应该更新列表上的数据,然后当您的间隔命中时,您只需从该列表中读取,或者如果您有智能绑定,您可以直接推送它 - 这有意义吗?如果仍然没有运气,请尝试一下我可以发布我的解决方案 - 流数据始终处于打开状态和后台
-
感谢您的回复@Gabriel,我试过了,但我仍然遇到在模拟和填充图形函数中创建对象的问题,它似乎试图创建对象 6 次,但我只希望它创建一次
-
没问题,消费者不应该在回调函数中创建。我将为您做一个工作示例并将其与一些 cmets 一起发布。明天再来看看:)
标签: python apache-kafka plotly-dash