2016-06-21 12 views
0

Ich habe diese Twitter App, ich bin es lokal läuft manchmal scheitert es aufgrund der langsamen Internetverbindung. Sobald es fehlschlägt, muss ich die App von Cmd neu starten. ist es möglich, den Bot schlafen, wenn Netzwerk ausfällt und wiederholen Sie den CodePython Bot Wie wiederhole ich nach Netzwerkausfall

import tweepy, time, sys 

argfile = str(sys.argv[1]) 
#APP 
#CONSUMER_KEY = '11' 
#CONSUMER_SECRET = '11' 
#ACCESS_KEY = '11' 
#ACCESS_SECRET = '11'  
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) 
    auth.set_access_token(ACCESS_KEY, ACCESS_SECRET) 
    api = tweepy.API(auth) 

    filename=open(argfile,'r') 
    f=filename.readlines() 
    filename.close() 

    for line in f: 
     api.update_status(line) 
     time.sleep(1200) 
+0

Ja, verwenden Sie ein "versuchen" und "fangen" dann gehen Sie noch einmal. – jonrsharpe

+0

hey danke für die Hilfe Ich bin kein Experte in Programmierung können Sie mir sagen, wie man das in Code schreiben – Leonardo19

+0

https://docs.python.org/3/tutorial/errors.html – jonrsharpe

Antwort

0

ich tun würde, um so etwas zu machen:

import requests 
import socket 

def get_json(url): 
    """Fetches JSON response from specified URL""" 

    fetched_data = dict() 
    try: 
     request = requests.get(url, timeout=2) 
     try: 
      fetched_data = request.json() 

      print("JSON response data:") 
      print(fetched_data) 

     except ValueError: 
      fetched_data["status"] = "60" 
    except requests.ConnectionError: 
     fetched_data["status"] = "60" 
    except requests.Timeout: 
     fetched_data["status"] = "60" 
    except requests.HTTPError: 
     fetched_data["status"] = "60" 
    except requests.URLRequired: 
     fetched_data["status"] = "60" 
    except requests.TooManyRedirects: 
     fetched_data["status"] = "60" 
    except socket.timeout: 
     fetched_data["status"] = "60" 

    return data 

Später würde ich nur wickeln Sie es in einigen while-Schleife, den Status überprüfen und wenn der Status 60 ist, würde ich es schlafen legen, sonst tu was du willst.

+0

Warum fangen alle diese Fehler getrennt, wenn die Ergebnis ist das gleiche? – jonrsharpe

Verwandte Themen