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

  • Semaphore - Die API

    Verschoben Ansible
    2
    0 Stimmen
    2 Beiträge
    183 Aufrufe
    FrankMF

    Ich hasse schlecht lesbaren Code, scheint man sich bei Python so anzugewöhnen. Habe da nochmal was mit der langen Zeile getestet.

    stages: - deploy deploy: stage: deploy script: # $SEMAPHORE_API_TOKEN is stored in gitlab Settings/ CI/CD / Variables - >- curl -v XPOST -H 'Content-Type: application/json' -H 'Accept: application/json' -H "Authorization: Bearer $SEMAPHORE_API_TOKEN " -d '{"template_id": 2}' https://<DOMAIN>/api/project/2/tasks only: - master # Specify the branch to trigger the pipeline (adjust as needed)

    Hier noch was Dr. ChatGPT dazu schreibt

    631de9d4-b04d-4043-bfff-c5f2d1b6eea7-grafik.png

    Erledigt - läuft 🙂 Und verstanden habe ich es auch.

  • NAS 2023 - Thema Datensicherung

    Verschoben Linux
    2
    0 Stimmen
    2 Beiträge
    143 Aufrufe
    FrankMF

    Bleibt noch etwas wichtiges. Die ganzen Konfigurationsdateien vom Proxmox Host. Sinnvoll, das man sich das sichert.

    #!/bin/bash # Script um mit Restic Daten automatisiert zu sichern! # Dient zum Sichern des Ordners /etc/pve! # Was soll gesichert werden? backup_pfad=/etc/pve # Programm Start restic --password-file /root/passwd -r /mnt/pve/Restic_Backups/pve backup $backup_pfad > backup_pve_001.log restic --password-file /root/passwd -r /mnt/pve/Restic_Backups/pve forget --keep-last 3 --keep-monthly 3 --prune >> backup_pve_002.log # Testen restic --password-file /root/passwd -r /mnt/pve/Restic_Backups/pve check --read-data >> backup_pve_003.log

    Crontab eingerichtet - fertig!

  • Root-Rechte für Angreifer

    Linux
    1
    0 Stimmen
    1 Beiträge
    70 Aufrufe
    Niemand hat geantwortet
  • 0 Stimmen
    2 Beiträge
    195 Aufrufe
    FrankMF

    Verkauft!

  • Rest-Server v0.12.0 released

    Restic
    1
    0 Stimmen
    1 Beiträge
    86 Aufrufe
    Niemand hat geantwortet
  • Linux Mint 20 “Ulyana” Cinnamon released!

    Linux
    4
    0 Stimmen
    4 Beiträge
    339 Aufrufe
    FrankMF

    Gut, die AMD Grafikkarte hat mich nicht glücklich gemacht 😞 Somit ist sie jetzt Geschichte.

    3b0958a7-7c12-46cc-b4de-0aeca38ee77b-grafik.png

    Nach der Installation war dann die Hardwarebeschleunigung aus. Linux Mint weist einen aber darauf hin, was man nun machen kann.

    8105abd7-23a3-41d5-a961-aba2b859dcb9-grafik.png

    Ich hatte dann den empfohlenen Treiber installiert. Nach einem Neustart war dann auch die Hardwarebeschleunigung aktiv.

    Zwei Dinge, die mich an der AMD-Karte im Zusammenspiel mit Linux Mint 20 Cinnamon genervt haben.

    Suspend ging nicht Ausloggen aus der Session

    Da ist eine Sache die ich sehr gerne nutze, Suspend, und dann geht das nicht 😞 Meine Recherchen im Netz brachten mich zu keinem Ergebnis, deswegen die NVidia Karte. Es kann sein, das ich zu dumm war die Lösung zu finden.....

    Aktuelle Bildschirmeinstellung.

    989d2eb4-f8c9-4c91-b4eb-e862efabac9b-grafik.png

    Braucht jemand eine AMD Radeon RX 5500 XT ??? 😁

  • Restic - Beispielzeiten

    Restic
    1
    0 Stimmen
    1 Beiträge
    482 Aufrufe
    Niemand hat geantwortet
  • Vorstellung von Joplin

    Linux
    3
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    FrankMF

    Heute das Ganze nochmal ausprobiert. 🙂

    Unter "Werkzeuge/Allgemeine Einstellungen"

    0_1539095579387_2541359f-78f0-4b14-b540-beddb80e7f45-grafik.png

    Danach auf "Synchronisieren" klicken. Nach kurzer Zeit fragt er nach dem fehlenden Passwort. Passwort eingeben und kurze Zeit später waren alle Daten wieder da. Diesmal ging das ruckzuck.

    Joplin 1.0.111 (prod, linux)