2017-12-30 9 views
0

Ich habe ein Skript erstellt, das mit einem Websocket verbindet und Daten durchströmt. Jetzt versuche ich eine Möglichkeit zu finden, try zu verwenden und die Verbindung zu Websocket wiederherzustellen, wenn der Stream getrennt wird oder Fehler auftreten. Wenn die Wiederverbindungsversuche das dreifache überschreiten, wird das Skript beendet. Ich habe es wie unten gezeigt versucht, aber es funktioniert nicht. Gibt es eine andere Möglichkeit, eine erneute Verbindung herzustellen, als mit try and except?Wie kann ich einen 3-fachen Versuch mit websockets in Python erstellen, bevor es beendet wird?

#!python 
from websocket import create_connection 

LINK='wss://ws-feed.somestream.com'  
MAX_ATTEMPTS = 3 #Max attempts before exiting 

attempts = 0 #number of retries 

def getStream(LINK): 
    ws = create_connection(LINK) 
    while True: 
     print ws.recv() 

try: 
    getStream(LINK) 

except: 
    print "connection error" 
    attempts = attempts + 1 
    if attempts < 3: 
     getStream(LINK) 

Antwort

1

Würde das funktionieren?

try: 
    ... 
except: 
    attempt = 1 
    while attempt <=3: 
     print "connection error" 
     try: 
      getStream(LINK) 
      attempt = 4 
     except: 
      attempt += 1 
Verwandte Themen