Tengo una instancia de Discourse que lleva una semana en funcionamiento y presenta algunos de los síntomas más extraños que no logro resolver, en parte porque los registros no muestran nada útil.
El síntoma más notable es que si entro en la configuración, cambio una opción y hago clic en la marca de verificación verde, la acepta y todo parece estar bien. Sin embargo, si luego actualizo la página de configuración, es muy probable que muestre la configuración antigua o la nueva. Si sigo actualizando, a veces aparece una y a veces la otra.
Peor aún, no solo ocurre en la pantalla de configuración, sino que a veces la funcionalidad del propio servidor parece cambiar. Por ejemplo, si intento subir un nuevo logotipo, a veces se muestra el antiguo y a veces el nuevo.
Para responder a la pregunta obvia: no, no estoy ejecutando múltiples instancias detrás de un equilibrador de carga; es una única instancia.
No estoy seguro de si está relacionado, pero también noto que el complemento de matemáticas de Discourse no se renderiza correctamente. Aunque las ecuaciones se muestran correctamente en la vista previa, una vez que publico el mensaje, el JavaScript parece no incluirse y, por lo tanto, no se renderiza adecuadamente. El problema de las matemáticas no es la prioridad aquí, pero lo menciono por si acaso ofrece más pistas.
Estoy realmente atascado; con todos los registros pareciendo normales, ni siquiera sé qué publicar para obtener ayuda. Cualquier idea sería muy bienvenida.
Lo intenté sin éxito. Lo más probable es que haya algo roto en cómo lo estoy instalando o algo así.
Soy desarrollador, ¿tienes alguna idea de qué podría estar fallando en la instalación y causar esto? ¿Alguna pista sobre dónde depurar y solucionar el problema?
Originalmente, ese fue el proceso que seguí. Lamentablemente, no es compatible con la mayoría de los entornos de producción de nivel empresarial que tengo a mi disposición. La mayoría de los marcos de trabajo operan, inician y despliegan contenedores. Debido a la naturaleza del enfoque de instalación estándar, no es posible trabajar con estas herramientas y entornos.
Por ello, estoy intentando mejorar/corregir el proceso para que pueda instalarse en cualquier lugar que admita un despliegue basado en Docker estándar. Aunque este esfuerzo está funcionando en gran medida, es el error que publiqué originalmente el que me está causando dificultades.
Una vez que lo haga funcionar, por supuesto, lo publicaré para que otros lo utilicen. He pasado el último año esperando a que Discourse admitiera Docker estándar, pero decidí hacer la contribución yo mismo. Estoy tan cerca, pero espero que alguien con más experiencia que yo pueda decirme dónde buscar.
Gracias, esto podría resultar muy útil. Dado que el plugin MathJax parecía funcionar de forma esporádica y luego dejar de hacerlo, parece probable que esté relacionado con JavaScript.
Acabo de entrar y probar a cambiar una configuración después de limpiar la caché, asegurándome de observar la pestaña de red. No aparecieron errores ni antes ni después de cambiar la configuración (aunque el error sí se presentó).
Una razón por la que no tiene sentido que el cambio no se aplique en absoluto es el comportamiento observado. Hago un cambio, luego actualizo y parece que el cambio se revierte. Pero si sigo simplemente actualizando (sin intentar hacer el cambio una segunda vez), entonces el cambio aparece aproximadamente la mitad de las veces. Cada vez que actualizo, hay un 50 % de probabilidades de que muestre la configuración antigua frente a la nueva.
También encontré el siguiente error en la consola, pero creo que no está relacionado:
No se pudieron encontrar las acciones del widget actions-summary-item en el registro
Lo intenté, como había hecho antes. No ayudó. Pero tengo mis dudas de si realmente estaba en modo seguro. Fui a */safe-mode y apareció el diálogo para entrar en modo seguro. Lo acepté. Pero noté que el tema de Material Design que uso seguía mostrándose. Así que, aunque pensé que estaba en modo seguro, ¿quizás no lo estaba realmente?
Dos contenedores: uno para Sidekiq y otro para el núcleo de Discourse. Solo una instancia del par. Estoy ejecutando PostgreSQL y Redis como servicios alojados en máquinas separadas.
Depende de lo que quieras decir. En la pestaña de red de “inspeccionar” para depuración, todo muestra 200; la consola solo tiene el error que mencioné antes (probablemente no relacionado). En los registros de Docker, cuando voy a realizar el cambio de configuración, veo lo siguiente, lo que confirma que fue exitoso. Sin embargo, al actualizar la página de configuración, el 50% de las veces muestra la configuración de ld y el otro 50% la nueva.
> 2019-08-20T13:14:15.960335498Z Started PUT "/admin/site_settings/categories_topics" for 213.127.19.53 at 2019-08-20 13:14:15 +0000
> 2019-08-20T13:14:15.968667966Z Processing by Admin::SiteSettingsController#update as */*
> 2019-08-20T13:14:15.968951769Z Parameters: {"categories_topics"=>"25", "id"=>"categories_topics"}
> 2019-08-20T13:14:15.978407541Z Rendering text template
> 2019-08-20T13:14:15.978607623Z Rendered text template (0.0ms)
> 2019-08-20T13:14:15.978834745Z Completed 200 OK in 10ms (Views: 0.6ms | ActiveRecord: 0.0ms)
> 2019-08-20T13:18:39.821498901Z [ N 2019-08-20 13:18:39.8209 4304/T4 age/Cor/CoreMain.cpp:1146 ]: Checking whether to disconnect long-running connections for process 6157, application /opt/bitnami/discourse (production)
> 2019-08-20T13:18:59.866033984Z [ N 2019-08-20 13:18:59.8655 4304/T4 age/Cor/CoreMain.cpp:1146 ]: Checking whether to disconnect long-running connections for process 5973, application /opt/bitnami/discourse (production)
> 2019-08-20T13:19:04.848923491Z [ N 2019-08-20 13:19:04.8484 4304/T4 age/Cor/CoreMain.cpp:1146 ]: Checking whether to disconnect long-running connections for process 6018, application /opt/bitnami/discourse (production)
> 2019-08-20T13:19:08.900933057Z [ N 2019-08-20 13:19:08.9004 4304/T4 age/Cor/CoreMain.cpp:1146 ]: Checking whether to disconnect long-running connections for process 5995, application /opt/bitnami/discourse (production)
> 2019-08-20T13:19:09.499349110Z [ N 2019-08-20 13:19:09.4989 4304/T4 age/Cor/CoreMain.cpp:1146 ]: Checking whether to disconnect long-running connections for process 6041, application /opt/bitnami/discourse (production)
> 2019-08-20T13:19:29.645095032Z Creating scope :open. Overwriting existing method Poll.open.
No utiliza la instalación estándar, aunque la usé como guía para aprender. Básicamente, tuve que escribir y modificar los archivos Docker para que funcionaran con Docker Compose. Una vez que Docker Compose funcionaba localmente, lo convertí a su forma JSON para que pudiera usarse con las herramientas de aws-cli.
Por lo tanto, el proceso de instalación es bastante diferente del estándar.