Comment vérifier quand le serveur python-memcached n'a pas pu être connecté

J'utilisais python-memcached, et le processus se poursuivait même si le serveur auquel je me connectais était mort, donc j'étais un peu troublé.

Cause

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

Lorsqu'il est défini, 0 est renvoyé même s'il n'y a pas de serveur.

memcache.py


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

Aucun ne reviendra même si vous l'obtenez ou s'il n'y a pas de serveur.

Avec cela, je ne sais pas si la valeur n'est pas réellement définie et qu'elle est None, ou s'il n'y a pas de serveur et qu'elle est None.

Solution

Je ne pense pas que ce soit correct, mais cela semblait identifiable, donc pour le moment.

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

La fonction stats () récupère l'état de chaque serveur, mais elle ne semble pas le récupérer à moins qu'il ne soit connecté.

Je pensais qu'il serait correct de définir une valeur qui raccourcirait la durée de vie et de vérifier si 0 était renvoyé ... N'est-ce pas mieux en termes de nombre de connexions au serveur? w

S'il y a un bon moyen, veuillez enseigner à tout le monde.

Recommended Posts

Comment vérifier quand le serveur python-memcached n'a pas pu être connecté
Une commande pour vérifier si quelque chose ne va pas lorsque le serveur ne fait rien
Comment ne pas charger d'images lors de l'utilisation de PhantomJS avec Selenium
Vérifier quand le conteneur Docker ne se connecte pas à Internet
Comment se connecter avec python (quand aucun gestionnaire n'a pu être trouvé pour le journal "__main__" apparaît)
Comment doi peut-il être utile lorsque vous demandez comment écrire du code?
On m'a dit que je ne pouvais pas trouver XML_SetHashSalt lorsque j'ai essayé d'utiliser pip avec python.
Comment ne pas échapper au japonais en traitant avec JSON en Python
Remarque sur la façon de vérifier la connexion au port du serveur de licences
Paramètres à effectuer lors du démarrage du serveur Linux centos7
Comment ajouter sudo lors de l'exécution du débogage
Comment vérifier la version du système d'exploitation Linux
Ignorer soname lors de la liaison (impossible)
Que faire si vous obtenez "La session n'a pas pu être ouverte" lors de l'installation de CentOS sur VirtualBox
Comment vérifier quel est / dev / video ?? lorsque plusieurs caméras Web sont insérées
[Serveur Web] Une histoire où j'ai enquêté parce que je ne pouvais pas accéder à nginx
Comment créer mon propre serveur Linux
Comment vérifier la version de Django
Comment obtenir une adresse IP lorsque Tornado + nginx
Comment régler l'heure du serveur sur l'heure japonaise
Impossible de mettre à jour pip en raison de SSL
Comment vérifier la version d'opencv avec python
Tkinter n'a pas pu être importé en Python
Soyez prudent lors de l'ajout d'un tableau à un tableau
[Remarque] QXcbConnection: impossible de se connecter à l'affichage
Connectez-vous lorsque je craignais de ne pas pouvoir me connecter au Wi-Fi sous Linux
Que faire si «TypeError: must be string, not int…» apparaît lors de l'utilisation de strptime