Skip to content

NodeBB - Zwei Instanzen

Angeheftet NodeBB
  • Um Redis mit zwei unabhängigen Instanzen laufen zu lassen, habe ich diesen Beitrag erstellt. Damit haben wir jetzt zwei unabhängige Datenbanken und nicht eine Datenbank mit zwei Foren. Ich persönlich finde das angenehmer.

    Ok, nun wollen wir die Datenbanken ja auch mit NodeBB benutzen und brauchen zwei eigenständige Instanzen.

    Forum 1

    [Unit]
    Description=NodeBB
    Documentation=https://docs.nodebb.org
    After=system.slice multi-user.target mongod.service
    
    [Service]
    Type=forking
    User=user_forum1
    
    StandardOutput=syslog
    StandardError=syslog
    SyslogIdentifier=nodebb
    
    WorkingDirectory=/home/forum1/nodebb
    PIDFile=/home/forum1/nodebb/pidfile
    ExecStart=/usr/bin/node loader.js
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    

    Forum 2

    [Unit]
    Description=NodeBB
    Documentation=https://docs.nodebb.org
    After=system.slice multi-user.target mongod.service
    
    [Service]
    Type=forking
    User=user_forum2
    
    StandardOutput=syslog
    StandardError=syslog
    SyslogIdentifier=nodebb
    
    WorkingDirectory=/home/forum2/nodebb
    PIDFile=/home/forum2/nodebb/pidfile
    ExecStart=/usr/bin/node loader.js
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    

    Ich denke, das sollten verständlich sein. Die beiden Files nach /etc/systemd/system und ausführbar machen

    chmod +x .....
    

    Ok, und die Datenbanken??

    In der config.json der NodeBB-Installation, kommt einmal das hier ein

        "redis": {
            "host": "127.0.0.1",
            "port": "6379",
    

    und einmal das hier

        "redis": {
            "host": "127.0.0.1",
            "port": "6380",
    

    Somit startet jede Instanz autark und benutzt seine eigene Redis-Datenbank.

  • FrankMF FrankM hat dieses Thema am angepinnt

  • NodeBB - v3.0.0-rc.2

    NodeBB
    1
    0 Stimmen
    1 Beiträge
    42 Aufrufe
    Niemand hat geantwortet
  • Python & Redis-Datenbank

    Verschoben Linux
    3
    0 Stimmen
    3 Beiträge
    97 Aufrufe
    FrankMF

    Heute dann die nächste Herausforderung. Mein JSON soll so aussehen, damit ich das entsprechend erweitern kann.

    Stocks {0: {'stockname': 'Deutsche Telekom Aktie', 'wkn1': '4534543534', 'wkn2': 'sfsdfsdfsfdfd', 'quantity': 100}, 1: {'stockname': 'Henkel', 'wkn1': '4534543534', 'wkn2': 'sfsdfsdfsfdfd', 'quantity': 50}}

    Die Daten sollen wie oben schon ausprobiert, in einer Redis Datenbank liegen. So weit auch kein großes Problem. ABER, der Zugriff auf diese Daten war dann meine nächste Hürde 🙂

    Ok, ich habe also mehrere Einträge im JSON File bzw. in der Datenbank. Wie komme ich da nun wieder dran. Ein paar ☕ später dann die Lösung.

    Wie komme ich an den einzelnen Eintrag, also über den Index??

    r1.json().get('stocks', 1)

    Gibt als Ergebnis

    {'stockname': 'Henkel', 'wkn1': '4534543534', 'wkn2': 'sfsdfsdfsfdfd', 'quantity': 50}

    Ok, das passt schon mal. Somit kann man dann gewohnt auf die einzelnen Elemente zugreifen.

    print("TESTING", testing['stockname'])

    Ausgabe

    TESTING Henkel

    Ok, Teil 1 erledigt. Jetzt habe ich ja irgendwann mehrere Elemente in der Liste und brauch dann den letzten Index , um damit was machen zu können. Also, z.B. durch die Daten zu loopen.

    objkeys = r1.json().objkeys('stocks') print("Objkeys", objkeys)

    Ausgabe

    Objkeys ['0', '1']

    Ok, kommt eine Liste des Index zurück. Damit kann man arbeiten 😉

    Ich hatte dann zum Testen mittels einer while Schleife die Daten geladen, aber jetzt beim Tippen klingelt es und wir machen das schön mit enumerate 😉

    @staticmethod def load(): data = {} for count, value in enumerate(objkeys): testing = r1.json().get('stocks', count) data[count] = { "stockname": testing['stockname'], "wkn1": testing['wkn1'], "wkn2": testing['wkn2'], "quantity": testing['quantity']} return data

    Somit habe ich die Daten aus der Redis Datenbank in einem Objekt und kann damit arbeiten.

  • Redis - Zweite Instanz

    Redis
    1
    0 Stimmen
    1 Beiträge
    171 Aufrufe
    Niemand hat geantwortet
  • Redis - Sicherheitsupdate Debian

    Redis
    1
    0 Stimmen
    1 Beiträge
    122 Aufrufe
    Niemand hat geantwortet
  • NodeBB - Update auf v1.18.4

    NodeBB
    1
    0 Stimmen
    1 Beiträge
    162 Aufrufe
    Niemand hat geantwortet
  • 0 Stimmen
    1 Beiträge
    304 Aufrufe
    Niemand hat geantwortet
  • Nextcloud - Redis Cache

    Nextcloud
    1
    0 Stimmen
    1 Beiträge
    390 Aufrufe
    Niemand hat geantwortet
  • NodeBB & Google Adsense

    NodeBB
    1
    0 Stimmen
    1 Beiträge
    255 Aufrufe
    Niemand hat geantwortet