Seria melhor você abordar esse problema de um ângulo diferente?
Eu tentaria executar o seu script no login, colocando um arquivo .desktop em ~ / .config / autostart e garantir que o script seja reiniciado se houver um problema de rede (suponho que seja por isso que você está usando o upstart). / p>
Algo assim talvez:
while 1:
rc = 0
while rc == 0:
rc = client.loop()
# Check error code, possibly pause for a while
client.reconnect()