Python paho MQTT останавливает выполнение при отсутствии соединения
В моем проекте на python я использую pahoMQTT для подключения и pub/subscribe из MQTT брокета. Я инициализирую свою процедуру следующим образом:
def run_sync_client():
#MQTT
# Instantiate and check connection about MQTT instance
client1 = mqtt.Client(getMacAddr())
client1.on_connect = on_connect # attach function to callback
client1.message_callback_add(mqtt_sub_pol, on_message_poll)
client1.on_message = on_message # attach function to callback
client1.on_publish = on_publish # attach function to callback
client1.on_subscribe =on_subscribe # attach function to callback
client1.tls_set(mqtt_ca_crt, mqtt_cli_crt, mqtt_cli_key)
client1.tls_insecure_set(True)
time.sleep(1)
try:
client1.connected_flag = False
client1.connect(mqtt_server, mqtt_port) # connect to broker
except Exception:
logging.error("Cannot connect MQTT Client1")
# END MQTT
...
# Rest of code
мой метод callback on_connect следующий:
def on_connect(client1, userdata, flags, rc):
client1.connected_flag = True
Так вот, моя проблема заключается в том, что когда в процедуре client1.connect() происходит что-то не так, поднимается исключение и выполнение программы останавливается, так как система остается в ожидании соединения.
Мой вопрос в том, как я могу остановить попытку соединения через некоторое время и продолжить выполнение кода?
Заранее большое спасибо