So überprüfen Sie, wann Sie keine Verbindung zum Server von python-memcached herstellen können

Ich habe Python-Memcached verwendet, und der Prozess wurde fortgesetzt, obwohl der Server, zu dem ich eine Verbindung herstellte, tot war, sodass ich ein wenig beunruhigt war.

Ursache

memcache.py


    def _set(self, cmd, key, val, time, min_compress_len = 0):
        self.check_key(key)
        server, key = self._get_server(key)
        if not server:
            return 0

Wenn gesetzt, wird 0 zurückgegeben, auch wenn kein Server vorhanden ist.

memcache.py


    def _get(self, cmd, key):
        self.check_key(key)
        server, key = self._get_server(key)
        if not server:
            return None

Keiner wird zurückkommen, selbst wenn Sie es bekommen oder es keinen Server gibt.

Damit weiß ich nicht, ob der Wert nicht tatsächlich festgelegt ist und es ist None, oder ob es keinen Server gibt und es None ist.

Lösungen

Ich denke nicht, dass dies richtig ist, aber es schien vorerst identifizierbar zu sein.

client = memcache.Client(['192.168.1.1:11211'])
		
if len(client.get_stats()) == 0:
	raise Exception('Kestrel server not connected.')

Die Funktion stats () ruft jeden Serverstatus ab, scheint ihn jedoch nur abzurufen, wenn eine Verbindung besteht.

Ich dachte, es wäre in Ordnung, einen Wert festzulegen, der die Lebensdauer verkürzt, und zu überprüfen, ob 0 zurückgegeben wurde ... Ist das nicht besser in Bezug auf die Anzahl der Serververbindungen? w

Wenn es einen guten Weg gibt, unterrichten Sie bitte alle.

Recommended Posts

So überprüfen Sie, wann Sie keine Verbindung zum Server von python-memcached herstellen können
Ein Befehl zum Überprüfen, wenn etwas schief geht, wenn der Server nichts tut
So laden Sie keine Bilder, wenn Sie PhantomJS mit Selen verwenden
Überprüfen Sie, ob der Docker-Container keine Verbindung zum Internet herstellt
So protokollieren Sie mit Python (wenn für den Logger keine Handler gefunden wurden "__main__" wird angezeigt)
Wie kann doi nützlich sein, wenn man fragt, wie man Code schreibt?
Mir wurde gesagt, dass ich XML_SetHashSalt nicht finden konnte, als ich versuchte, pip mit Python zu verwenden.
Wie man Japanern nicht entgeht, wenn man mit json in Python umgeht
Ein Hinweis zum Überprüfen der Verbindung zum Lizenzserver-Port
Einstellungen, die beim Starten des Linux-Servers centos7 vorgenommen werden müssen
So fügen Sie sudo hinzu, wenn Sie das Debug ausführen
So überprüfen Sie die Linux-Betriebssystemversion
Soname beim Verknüpfen ignorieren (konnte nicht)
Was tun, wenn bei der Installation von CentOS auf VirtualBox die Meldung "Die Sitzung konnte nicht geöffnet werden" angezeigt wird
Wie überprüfe ich, welches / dev / video ist, wenn mehrere Webkameras eingesetzt sind?
[Webserver] Eine Geschichte, als ich nachforschte, weil ich nicht auf nginx zugreifen konnte
Wie baue ich meinen eigenen Linux-Server?
So überprüfen Sie die Version von Django
Wie bekomme ich IP bei Tornado + Nginx
So stellen Sie die Serverzeit auf japanische Zeit ein
Pip konnte aufgrund von ssl nicht aktualisiert werden
So überprüfen Sie die Version von opencv mit Python
Tkinter konnte nicht in Python importiert werden
Seien Sie vorsichtig, wenn Sie einem Array ein Array hinzufügen
[Hinweis] QXcbConnection: Es konnte keine Verbindung zur Anzeige hergestellt werden
Melden Sie sich an, wenn ich befürchtet habe, dass ich unter Linux keine Verbindung zu Wi-Fi herstellen kann
Was tun, wenn bei Verwendung von strptime "TypeError: muss Zeichenfolge sein, nicht int ..." angezeigt wird