Skip to content

Redis ConnectionPool

Redis
  • Schnell nachdem ich meinen Redis Stack Server auf eine VM ausgelagert hatte, stellte ich morgens beim Kaffee fest, das meine Flask Anwendung nicht mehr läuft. Mein PC ist meistens im Standby.

    broken pipe error (so in etwa)
    

    Um das zu beheben, musste ich jedes mal die Anwendung neu starten. Nervig! Das muss doch auch besser gehen und man müsste der Flask Anwendung das nur erklären 🙂

    Da man nicht alles wissen kann, nutze ich dann gerne für solche Fälle - ChatGPT Ich stellte also meine Frage und bekam das hier als Antwort.

    self.pool = redis.ConnectionPool(
                host=host,
                port=port,
                db=db,
                password=config.REDIS_PASSWORD,
                # Auto-Reconnect einstellen
                retry_on_timeout=True,
                # Optional: Weitere Einstellungen wie maximale Wiederverbindungsversuche,
                # Timeout-Werte, etc. können hier konfiguriert werden
                health_check_interval=30  # Überprüft die Verbindung alle 30 Sekunden
            )
    

    ChatGPT empfahl also einen Redis ConnectionPool anzulegen. In der ersten Antwort fehlte noch der health_check_interval, wie sich aber raus stellte ist der nötig.

    Somit sieht meine Datenbank Klasse wie folgt aus (nur der init Teil

    class PortfolioSettings:
    
        def __init__(self, host=config.SERVER_IP, port=6379, db=None):
            if db is None:  # If db is not provided explicitly, use TEST_MODE to decide
                if config.TEST_MODE == 1:
                    db = config.TEST[0]
                else:
                    db = config.LIVE[0]
    
            # Verwende einen Connection Pool
            self.pool = redis.ConnectionPool(
                host=host,
                port=port,
                db=db,
                password=config.REDIS_PASSWORD,
                # Auto-Reconnect einstellen
                retry_on_timeout=True,
                # Optional: Weitere Einstellungen wie maximale Wiederverbindungsversuche,
                # Timeout-Werte, etc. können hier konfiguriert werden
                health_check_interval=30  # Überprüft die Verbindung alle 30 Sekunden
            )
    
            self.client = redis.Redis(connection_pool=self.pool)
    

    Und damit funktioniert das bis jetzt sehr gut. Jetzt müsste ich nur noch wissen, wie der Redis ConnectionPool funktioniert!??

  • Die Antwort von ChatGPT wie der Redis ConnectionPool funktioniert. Ein paar Dinge finde ich komisch.

    https://chat.openai.com/share/b10fdadc-2c9b-404a-bc99-c883d110d6af

  • 0 Stimmen
    2 Beiträge
    19 Aufrufe
    frankm@nrw.socialF
    @julialee Meiner Meinung nach Linux Mint Cinnamon.
  • LibreOffice Security Update

    Linux debian linux
    1
    0 Stimmen
    1 Beiträge
    129 Aufrufe
    Niemand hat geantwortet
  • pfSense - Release 2.7.2

    pfSense pfsense linux
    1
    1
    0 Stimmen
    1 Beiträge
    300 Aufrufe
    Niemand hat geantwortet
  • NAS 2023 - Hardware

    Angeheftet Verschoben Linux nas linux
    3
    6
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    FrankMF
    Ich war nicht so ganz zufrieden Die zwei 4TB 5 1/4 Zoll HDDs müssen jetzt mal weichen. [image: 1684584960061-20230520_091729-resized.jpg] Ich habe jetzt wieder einen Proxmox Backup Server im Einsatz, da brauche ich nicht mehr so viel Speicherplatz im NAS. Kleiner, aber wichtiger Nebeneffekt ist der, das ich jetzt ca. 7W eingespart habe. In Zeiten wie diesen, rechnet sich das. Nein, die Investitionskosten rechnen wir jetzt nicht dagegen [image: 1684585295398-screenshot_20230520_140727_voltcraft-sem6000_ergebnis.jpg] Aktuelle Platten Ausstattung 1 TB NVMe SSD (Proxmox Systemplatte) 2 * 2,5 Zoll 1TB SSD WD Red (ZFS Pool für mein NAS) 1 * 2,5 Zoll HDD 2TB für Datensicherung
  • Storage Box für den REST-Server

    Restic davfs2 rest-server linux
    1
    0 Stimmen
    1 Beiträge
    172 Aufrufe
    Niemand hat geantwortet
  • checkmk - Dockerinstallation

    Verschoben checkmk checkmk linux
    9
    2
    0 Stimmen
    9 Beiträge
    1k Aufrufe
    FrankMF
    Und noch was Wichtiges. [image: 1628408271316-6777da6e-3b4f-41b9-bf6e-26496ae67cd8-grafik.png] Damit sichert man den Datenaustausch ab. Kapitel 7.4. Inbuilt encryption Den Ordner findet man hier -> /etc/check_mk/encryption.cfg
  • NGINX - Installation

    NGINX nginx linux
    1
    2
    0 Stimmen
    1 Beiträge
    349 Aufrufe
    Niemand hat geantwortet
  • Projekt NAS - BIOS Update 1.25.0

    Linux linux
    1
    0 Stimmen
    1 Beiträge
    676 Aufrufe
    Niemand hat geantwortet