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.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wiederverwenden einer einzelnen Anforderung Sitzung behoben das problem für mich.