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() происходит что-то не так, поднимается исключение и выполнение программы останавливается, так как система остается в ожидании соединения.

Мой вопрос в том, как я могу остановить попытку соединения через некоторое время и продолжить выполнение кода?

Заранее большое спасибо

Вернуться на верх