La configuración del sitio es diferente cada vez en la instalación de desarrollo de Ubuntu

Hola, estoy construyendo un sitio de foro.

Intenté cambiar la configuración del sitio y actualizarlo, pero no puedo obtener los valores modificados de forma intermitente.

Cada actualización parece mostrar los valores almacenados en caché previamente.

Ajusté el número de workers de Puma, pero el problema persiste.

El valor modificado se guarda en la base de datos.

¿Podría ser un problema de message_bus?
Si es así, ¿cómo debería cambiar la configuración?

Por favor, responde. ¡Gracias!

1 me gusta

¿Cómo instalaste exactamente Discourse?

1 me gusta

Veo lo mismo. Si configuro la cantidad de workers de Puma en 1, el problema desaparece. Parece que cada worker mantiene una copia del objeto de configuración del sitio, y cuando un worker realiza una actualización, los demás workers nunca se enteran de ese cambio.

Desafortunadamente, este problema también está presente en un entorno escalado con múltiples servidores de Discourse, por lo que simplemente establecer la cantidad de workers en 1 no es una solución total.

Necesito preguntar lo mismo: ¿Cómo instalaste exactamente Discourse?

Al instalarlo siguiendo el único método soportado, no usamos Puma y este error no está presente.

1 me gusta

Estoy intentando hacer desarrollo de plugins, así que seguí el enlace en el README para configurar un entorno de desarrollo en Ubuntu. Cuando ejecuto el comando bundle exec rails server --binding=0.0.0.0, la aplicación se inicia con Puma.

Lo único similar que he visto es que si el servidor se detiene, el navegador a veces devuelve un archivo JSON o la versión en caché del sitio.

¿El servidor sigue funcionando?

Otra cosa que hago es abrir otra terminal y ejecutar

./bin/rails c

Y cambiar la configuración allí con algo como

SiteSetting.title=“mi título”

El servidor sigue en ejecución. He verificado en los registros que Discourse está atendiendo la solicitud. Además, tengo la caché desactivada en la consola de desarrollador de mi navegador mientras depuro esto.

¿Por qué estás escalando horizontalmente durante el desarrollo de complementos?

Los síntomas indican que tu MessageBus interno está roto, por lo que algo va mal con tu configuración de Redis. Las actualizaciones en vivo en el navegador también podrían estar rotas.

2 Me gusta

No estaba escalando para el desarrollo de complementos, solo probando esto en varios escenarios diferentes para intentar reducir mi problema y asegurarme de haberlo entendido. Si se supone que MessageBus debe manejar esto, lo investigaré más a fondo.

Mientras depuraba, noté que app/models/site_setting.rb aún está disparando un evento :site_setting_saved, el cual parece haber sido eliminado de la aplicación y reemplazado por :site_setting_changed. Ya no hay nada escuchando el evento :site_setting_saved.

También puedes ejecutar el servidor web Unicorn en desarrollo con bin/unicorn.

1 me gusta