¿Es el mismo proceso para actualizar Discourse a través del navegador, o a través de la Terminal usando ./launcher rebuild app?
Si es así, ¿alguna ventaja de uno sobre el otro, aparte de poder actualizar plugins individualmente?
No soy un experto en esto, así que lamento si digo algo que no tiene sentido.
Pregunto esto, porque es la segunda vez que intento actualizar a través del navegador y se queda atascado. La primera vez comenzó y se quedó atascado en medio del proceso de actualización, y luego anoche (la segunda vez) presioné el botón de actualizar, me fui a la cama, y esta mañana ni siquiera había comenzado. Tuve que cancelar y reiniciar.
Utilice la interfaz de usuario siempre que sea posible para minimizar el tiempo de inactividad (pocos segundos)
Ocasionalmente, algunas formas de actualización (por ejemplo, actualización de la versión de postgres) requieren una actualización de línea de comandos. Esto es necesario en esas ocasiones, pero provoca un tiempo de inactividad en la instalación estándar. Normalmente, unos 20 minutos. Elija un período de baja actividad.
Esas ocasiones deberían ser obvias en la interfaz de usuario.
Si desea agregar o eliminar un complemento, deberá usar la reconstrucción de la consola.
Mientras actualizo ahora, me di cuenta de que el foro todavía funciona, pero a veces es un poco más lento. Esto es bueno en comparación con el uso de la Terminal, que parece hacer que el foro no funcione por completo. Gracias por aclarar esto.
¿Incluso para un no experto como yo? Quiero decir, ¿dirá algo que me muestre que debería usar la Terminal en su lugar?
Técnicamente hablando, ¿crees que esto cambiará algún día y podremos hacer todo en el navegador? No conozco los detalles técnicos de este proceso, por eso pregunto.
Sospecho que siempre será así en la instalación estándar.
Puedes encontrar recursos aquí para configurar una “estamos fuera de línea, vuelve más tarde” para mitigar esos 20 minutos, pero no es la instalación estándar y te sugiero que mantengas las cosas simples y fáciles de soportar.
Aquí está lo que noté, pero no sé si es una coincidencia: cuando se queda atascado en ese estado en el que no pasa nada, hago clic en Restablecer actualización. Intento reiniciar, no pasa nada. Luego vuelvo a la página con todas las actualizaciones y hago clic en el botón Actualizar. Esta vez, comienza la actualización. No estoy seguro si hay algo roto en el código que después de un reinicio, el botón para reiniciar no hace nada? No tengo ni idea, pero solo comparto mi experiencia.
Ahora se está actualizando de nuevo, después de que hice lo que acabo de describir.
Ahora estoy confundido… volvió a fallar, pero cuando actualicé el navegador decía que Discourse estaba en la versión más reciente…
Cuando fui a la página principal de actualizaciones donde están los plugins, de hecho mostraba que Discourse se había actualizado
Parece que este mensaje de error ha sido muy común últimamente, y siempre se ha solucionado creando swap. No sé por qué, ya que los requisitos oficiales de Discourse no han cambiado.
Entonces, ./discourse-setup debería haber creado un swap automáticamente. No soy muy experto en los arcanos de la administración del sistema, así que dejaré que otros expliquen más sobre esto.
Dicho esto, incluso con más recursos de los requeridos, los usuarios han enfrentado este problema, así que hay algo sospechoso.
En cuanto a la actualización desde la interfaz, la he encontrado un poco poco fiable a lo largo de los años. No estoy seguro de por qué, parece que a veces falla sin razón aparente cuando una reconstrucción funciona.
¿Hay alguna forma, a través de la Terminal, de ver si ya existe uno? (¿Quizás esto responde a mi pregunta? No estoy muy versado en los arcanos de la administración de sistemas)
Ok, así que supongo que no estoy solo aquí.
Estoy un poco confundido… ¿usando la Terminal son estas 2 cosas diferentes? ¿Actualizar y Reconstruir? Porque solo he estado usando ./launcher rebuild app y eso siempre funciona.
Oh, ok, ahora tiene sentido
Sí, esa es mi experiencia también.
La desventaja es que la reconstrucción detiene por completo el foro, lo cual no es ideal, pero bueno… hay que hacer lo que hay que hacer.
Sin experiencia en esto, usé Claude y ChatGPT para ayudarme a entender las cosas. Así que, como se sugirió, opté por la ruta del swapfile, pero como se señaló, tal vez ya tenía un swapfile basado en cómo instalé Discourse. Para asegurarme, ejecuté
sudo swapon --show
en Terminal y obtuve esto:
Así que miré la columna “USED” y pensé: “bueno, si el swapfile se usa para que las cosas funcionen mejor cuando la RAM no es suficiente, pero dice que el swapfile está usando 1.9GB de 2GB, eso no ayudará”
Así que le pregunté a ChatGPT si podía simplemente limpiar/vaciar el swapfile y obtuve este comando:
sudo swapoff -a && sudo swapon -a
Lo ejecuté, dejé que hiciera lo suyo y volví a ejecutar el otro:
sudo swapon --show
Ahora veo esto:
Así que supongo que es bueno pasar por este proceso de limpieza/vaciado del swapfile de vez en cuando?
La reconstrucción desde la línea de comandos consume menos RAM.
Con una instalación de dos contenedores, puedes construir un nuevo contenedor mientras el antiguo continúa funcionando (si tienes suficiente RAM). Eso te da poco tiempo de inactividad.
A veces tienes que hacer una reconstrucción desde la línea de comandos porque las bibliotecas subyacentes necesitan ser actualizadas y eso no puede hacerse desde la interfaz de usuario.
Puedes
cd /var/discourse
grep swap discourse-setup
para ver los comandos que realiza para crear el intercambio (swap). Si ejecutas swapoff (para que el archivo ya no esté ocupado) puedes luego ejecutar los comandos que crean el archivo (fsallocate) agrandándolo si se desea, y formateándolo como intercambio con (mkswap) y luego swapon -a para volver a activarlo.
Si tienes muchos plugins, probablemente necesitas un total de 5 o 6 GB.