ConnectionError, Max retries exceeded with url, (Verursacht durch Keine)

Was bedeutet es, wenn es sagt:

requests.exceptions.ConnectionError: None: Max retries exceeded with url: /myurl (Caused by None)

Speziell, was bedeutet "Verursacht, die von Keiner" bedeuten?

Habe ich ein python-client und ein einfaches clojure-server auf dem gleichen Rechner laufen. Der server läuft auf compojure+http-kit mit 4 threads. Der client kontinuierlich senden POST-Anfragen, die mit 3 bis 4 Prozesse mit multiprocessing.Pool mit 3 worker-Prozessen.

Jeder so oft, wird der client sterben würde, mit der ConnectionError oben beschrieben. Ich habe die Einstellungen " Wiederholungen=3 auf der client-Seite und erhöhen die Größe der Warteschlange auf dem server zu 1000000 ohne Wirkung.

Jede mögliche Hilfe würde geschätzt.

edit: Korrektur, ich bin eigentlich senden POST-Anfragen nicht zu BEKOMMEN.

Das eigentliche script ist zu groß, hier zu posten, aber im Grunde funktioniert es so. Ich habe eine Funktion, die Anrufe Beitrag mit einigen Daten:

def post_func(my_data, config):
    return requests.post(my_url, data=json.dumps({"data": my_data, "config": config}))

Einer Klasse, die wraps multiprocessing.Pool:

class Executor(object):
    def __init__(self, nprocs):
        self.pool = Pool(processes=nprocs)

    def execute(self, func, list_of_data):
        return self.pool.map(func, list_of_data)

Andere Funktion, die Anrufe Testamentsvollstrecker.execute() mit unterschiedlichen Konfigurationen:

function eval(executor, list_of_data, config):
    start = timer()
    func = partial(post_func, config=config)
    results = executor.execute(func, list_of_data)
    taken = timer()-start
    return results

Einem einzigen Testamentsvollstrecker wird wiederverwendet für alle eval () - Aufrufe. eval() ist dann eingewickelt in eine scoring-Funktion und pyswarm zu optimieren:

pso(score_func, lbs, ubs, swarmsize=20, maxiter=20, debug=True)

edit: etwas, was ich wahrscheinlich getan haben sollte früher, aber fangen die ConnectionError richtig gibt mir diese:

ConnectionError: HTTPConnectionPool(host='127.0.0.1', port=5000): Max retries exceeded with url: /my_url (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7f0ccb4b5550>: Failed to establish a new connection: [Errno 99] Cannot assign requested address',))

Habe ich jetzt schrieb das Drehbuch zur Wiederverwendung eines einzigen requests.Sitzung, der wird wissen bald, wenn dies das problem behebt.

  • Fügen Sie den code, der den Fehler verursacht
  • Check this: stackoverflow.com/questions/18478013/...
  • keine bestimmten Kommentar auf diese Frage? Ich habe nicht die "BadStatusLine" Fehler, ich bekomme Keine.
  • könnte man dieses Problem lösen? Ich bekomme das gleiche problem laufen, wenn der Anforderer innerhalb einer Aufgabe
  • haben Sie die Antwort?
  • die Wiederverwendung einer einzelnen Anforderung Sitzung fest für mich.

Schreibe einen Kommentar