Update im Browser vs Terminal

Ist der Prozess zum Aktualisieren von Discourse über den Browser derselbe wie über das Terminal mit ./launcher rebuild app?
Wenn ja, gibt es Vorteile der einen Methode gegenüber der anderen, abgesehen davon, dass Plugins einzeln aktualisiert werden können?

Ich bin kein Experte auf diesem Gebiet, daher entschuldige ich mich, wenn ich etwas sage, das keinen Sinn ergibt.

Ich frage das, weil ich zum zweiten Mal versuche, über den Browser zu aktualisieren, und es hängt. Das erste Mal startete es und blieb mitten im Aktualisierungsprozess stecken, und dann letzte Nacht (2. Mal) drückte ich auf den Update-Button, ging ins Bett, und heute Morgen hatte es noch nicht einmal begonnen. Ich musste abbrechen und neu starten.

1 „Gefällt mir“

Nutzen Sie die Benutzeroberfläche, wann immer möglich, um Ausfallzeiten zu minimieren (wenige Sekunden).

Gelegentlich erfordern einige Update-Formen (z. B. Aktualisierung der PostgreSQL-Version) ein Befehlszeilenupdate. Dies ist in diesen Fällen notwendig, führt aber bei einer Standardinstallation zu Ausfallzeiten. Normalerweise etwa 20 Minuten. Wählen Sie eine Zeit außerhalb der Spitzenzeiten.

Diese Anlässe sollten in der Benutzeroberfläche ersichtlich sein.

Wenn Sie ein Plugin hinzufügen oder entfernen möchten, müssen Sie den Konsolen-Rebuild verwenden.

3 „Gefällt mir“

Da ich jetzt ein Update durchführe, habe ich festgestellt, dass das Forum immer noch funktioniert, aber manchmal etwas langsamer ist. Das ist gut im Vergleich zur Verwendung des Terminals, das das Forum anscheinend komplett lahmlegt. Danke für die Klarstellung.

Auch für einen Laien wie mich? Ich meine, wird dort etwas angezeigt, das mir sagt, dass ich stattdessen das Terminal benutzen sollte?

Technisch gesehen, glauben Sie, dass sich das eines Tages ändern wird, sodass wir alles im Browser erledigen können? Ich kenne die technischen Details dieses Prozesses nicht, deshalb frage ich.

1 „Gefällt mir“

Es ist schon wieder abgestürzt…

Starte 1 Unicorn-Worker(s), die ursprünglich gestoppt wurden

ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL Befehl wurde mit SIGKILL (Erzwungene Beendigung) beendet: ember build -prod Docker Manager: UPGRADE FEHLGESCHLAGEN

Wird mir das oft passieren? Was könnte das verursachen und wie kann ich es beheben?

Ich vermute, dass es bei der Standardinstallation immer so bleiben wird.

Sie finden hier Ressourcen, um einen “Wir sind offline, kommen Sie später wieder”-Bildschirm zu konfigurieren, um diese 20 Minuten zu mildern, aber es ist keine Standardinstallation und ich würde vorschlagen, die Dinge einfach und gut unterstützbar zu halten.

Das habe ich vor ein paar Tagen gesehen, aber es war für mich tatsächlich sehr komplex.

Ich habe gerade die Fehler gepostet, die ich beim Versuch zu aktualisieren sehe. Es ist wieder abgestürzt. Es steht in meiner vorherigen Antwort.

Nachdem es abgestürzt ist, habe ich auf die Schaltfläche geklickt, um das Update neu zu starten, und es hängt wieder hier, was letzte Nacht passiert ist:

Hier ist, was mir aufgefallen ist, aber ich weiß nicht, ob es Zufall ist: Wenn es in diesem Zustand hängen bleibt, in dem nichts passiert, klicke ich auf „Update zurücksetzen“. Versuche neu zu starten, nichts passiert. Dann gehe ich zurück zur Seite mit allen Updates und klicke auf die Schaltfläche „Update“. Dieses Mal beginnt das Update. Ich bin mir nicht sicher, ob etwas im Code kaputt ist, dass nach einem Zurücksetzen die Schaltfläche zum Neustart nichts bewirkt? Ich habe keine Ahnung, aber ich teile nur meine Erfahrung.

Jetzt wird es wieder aktualisiert, nachdem ich das getan habe, was ich gerade beschrieben habe.

Ich bin jetzt verwirrt … es ist wieder abgestürzt, aber als ich den Browser aktualisiert habe, stand dort, dass Discourse auf dem neuesten Stand sei …
Als ich zur Hauptseite der Updates ging, wo die Plugins sind, wurde tatsächlich angezeigt, dass Discourse aktualisiert wurde :thinking:

Versuchen Sie, einen Swap zu erstellen:

Es scheint, dass diese Fehlermeldung in letzter Zeit sehr häufig aufgetreten ist und immer durch die Erstellung eines Swaps behoben wurde. Ich weiß nicht warum, da sich die offiziellen Anforderungen von Discourse nicht geändert haben.

2 „Gefällt mir“

Ich habe dieses Wort schon einmal gesehen, aber ich habe keine Ahnung, was es ist und wozu es dient.

Vielen Dank für das Teilen dieses Links. Das werde ich auf jeden Fall tun, und wenn ich auf Probleme stoße, werde ich sie mitteilen.

Wenn ich zu DigitalOcean gehe, sehe ich das für meinen Droplet:
image

Also “qualifiziere” ich mich für diesen Swapfile-Prozess, den Sie geteilt haben, richtig? Weil mein Server <= 2 GB RAM hat.

1 „Gefällt mir“

Wenn er weniger als 2 GB beträgt, würde ich empfehlen, eine Swap-Datei zu erstellen. Meine ist 1 GB groß, daher brauchte ich definitiv eine.

Nach meinem Verständnis nimmt Swap im Grunde etwas Speicherplatz und wandelt ihn in mehr Arbeitsspeicher um.

2 „Gefällt mir“

Dann sollte ./discourse-setup automatisch einen Swap erstellt haben. Ich bin nicht sehr bewandert in den Feinheiten der Systemadministration, daher lasse ich andere darüber berichten.

Das gesagt, selbst mit mehr als den Anforderungen sind Benutzer auf dieses Problem gestoßen, also ist da wohl etwas merkwürdig.

Was das Update über die Schnittstelle betrifft, so habe ich festgestellt, dass es im Lauf der Jahre etwas unzuverlässig ist. Ich bin mir nicht sicher warum, es scheint manchmal ohne ersichtlichen Grund zu scheitern, wenn ein Rebuild funktioniert.

3 „Gefällt mir“

Gibt es eine Möglichkeit, über das Terminal zu sehen, ob bereits einer vorhanden ist? (Vielleicht beantwortet das meine Frage? Ich bin kein Experte für die Arkanes der Systemadministration)

Ok, ich bin also nicht allein hier.

Ich bin etwas verwirrt… Sind das über das Terminal 2 verschiedene Dinge? Update und Rebuild? Denn ich habe nur ./launcher rebuild app verwendet und das funktioniert immer.

1 „Gefällt mir“

Ok, danke. Das hilft!

2 „Gefällt mir“

Entschuldigung, ich meinte von der Benutzeroberfläche, ich habe meinen Beitrag korrigiert. :slight_smile:

2 „Gefällt mir“

Okay, das ergibt jetzt Sinn :slight_smile:
Ja, das ist auch meine Erfahrung.
Der Nachteil ist, dass der Wiederaufbau das Forum komplett lahmlegt, was nicht ideal ist, aber nun ja… wir müssen tun, was wir tun müssen.

1 „Gefällt mir“

Ich habe Claude nach meiner Frage gefragt, ob es eine Möglichkeit gibt, zu überprüfen, ob eine Swap-Datei vorhanden ist, und das habe ich bekommen:

UPDATE

Da ich keine Expertise in diesem Bereich habe, habe ich Claude und ChatGPT um Hilfe gebeten. Wie vorgeschlagen, habe ich den Swapfile-Weg gewählt, aber wie angemerkt wurde, hatte ich vielleicht bereits eine Swapfile, je nachdem, wie ich Discourse installiert habe. Um sicherzugehen, habe ich Folgendes ausgeführt:

sudo swapon --show

im Terminal und erhielt Folgendes:

image

Ich habe die Spalte „USED“ betrachtet und dachte: „Nun, wenn die Swapfile dazu dient, Dinge reibungsloser laufen zu lassen, wenn der RAM nicht ausreicht, aber sie sagt, dass die Swapfile 1,9 GB von 2 GB verwendet, wird das nicht helfen

Also fragte ich ChatGPT, ob ich die Swapfile einfach löschen/leeren könnte, und erhielt diesen Befehl:

sudo swapoff -a &amp;&amp; sudo swapon -a

Ich habe ihn ausgeführt, ihn seine Arbeit tun lassen und den anderen erneut ausgeführt:

sudo swapon --show

Jetzt sehe ich Folgendes:
image

Ich schätze also, es ist gut, diesen Prozess des Reinigens/Leerens der Swapfile ab und zu durchzuführen?

Einen Versuch wert, Ihren Swap zu erhöhen:

2 „Gefällt mir“

Neiaufbau über die Befehlszeile benötigt weniger RAM.

Mit einer Zwei-Container-Installation kannst du einen neuen Container bauen, während der alte weiter funktioniert (wenn du genügend RAM hast). Das reduziert die Ausfallzeiten.

Du musst manchmal eine Neukonfiguration über die Befehlszeile vornehmen, weil zugrunde liegende Bibliotheken aktualisiert werden müssen und dies nicht über die Benutzeroberfläche gemacht werden kann.

Du kannst

cd /var/discourse
grep swap discourse-setup

um die Befehle zu sehen, die zum Erstellen des Swap genutzt werden. Wenn du swapoff ausführst (damit die Datei nicht mehr genutzt wird), kannst du die Befehle zum Erstellen der Datei (fsallocate) ausführen, um sie bei Bedarf zu vergrößern, sie als Swap (mkswap) formatieren und dann swapon -a wieder aktivieren.

Wenn du viele Plugins hast, benötigst du wahrscheinlich insgesamt 5 oder 6 GB.

4 „Gefällt mir“