Инфинитивный цикл вызова функций из __main__ (Websocket) - PullRequest
0 голосов
/ 10 ноября 2019

Меня всегда вдохновляло: «Если что-то работает, не трогайте это», но на этот раз я немного обеспокоен.

Я разрабатываю программу на python, которая должна взаимодействовать с моей RaspberryПи над паутиной. Все работает отлично, теперь он работает на моей локальной машине в течение 3 часов, и никаких ошибок или чего-либо еще. websocket-ping-py Я буду продолжать тестировать свой код, пытаясь определить, будет ли он работать 4+ дня.

Поэтому мой вопрос: хорошая это или плохая идея, мояфункция основного файла таким образом? Как кто-то еще может обойти эту проблему?

def restart_program():
    try:
        p = psutil.Process(os.getpid())
        for handler in p.get_open_files() + p.connections():
            os.close(handler.fd)
    except Exception  :
        print("")
    python = sys.executable
    os.execl(python, python, *sys.argv)
    def __main__():
    try:
        print ("ALL OK!")
        websocket-ping.sendonline()
        while True:
            while websocket-ping.checktime() == False :
                print("Checking time")
            else:
                websocket-ping.sendonline()
    except: 
        restart_program()  
    return

if __name__ == "__main__":
    if websocket-ping.__main__() == True:
        __main__()
    pass
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...