python 中不同 class 模块中的 paho mqtt 回调

paho mqtt callbacks in different class modules in python

我在另一个 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)