我在另一个python模块中定义了我的回调函数。如何将另一个模块中定义的回调附加到paho.mqtt客户端回调?对于。例如,我有一个database.py,我在其中执行所有数据库操作,例如连接到数据库并将消息存储在数据库和mqttbroker.py模块中,我创建一个mqtt.client()实例并连接到代理并订阅主题并定义一些回调,如on_connect和on_disconnect。现在对于on_message mqtt回调,我在database.py模块中创建了回调函数。如何附加此回调?我有main.py(我的客户端)导入database.py和mqttbroker.py模块。
定义接口并在客户端模块中调用该接口,并将数据库模块中定义的回调附加到此被调用的接口。
#mqttbroker.py
def onMessage(self, callback):
self.client.on_message = callback
self.client.loop_forever()
#database.py
def on_message(self,client,userdata, msg)
#store messsages in db
#main.py
import mqqtbroker
import database
client = mqqtbroker()
client.connect(host, port, 60)
client.onMessage(database.on_message)