El sitio sale automáticamente del modo de solo lectura cuando se habilita con 'discourse enable_readonly'

Hola a todos,

Estoy configurando algo de automatización para el despliegue y la migración con Ansible, pero tengo un problema con el modo de solo lectura.

Cuando habilité el modo de solo lectura con:
docker exec app discourse enable_readonly
o

./launcher enter app
discourse enable_readonly

Después de ~1:20, el sitio sale del modo de solo lectura por sí solo.

Si habilito el modo de solo lectura a través de la WebUI (sección de administración/copias de seguridad), permanece habilitado hasta que lo deshabilito.

¿Alguna idea?

1 me gusta

¿Revisaste tus registros? Quizás tengas un trabajo en segundo plano o un complemento en algún lugar que esté interrumpiendo el proceso.

Hola Lilly,

Gracias por tu respuesta. Esta es una instalación predeterminada nueva y no he instalado ningún plugin ni he creado ningún trabajo. ¿En qué registros debería buscar? Perdona, soy un poco novato.

He intentado tail -f en:

/var/discourse/shared/standalone/log/rails/unicorn.stdout.log
/var/discourse/shared/standalone/log/rails/unicorn.stderr.log
/var/discourse/shared/standalone/log/rails/production_errors.log
/var/discourse/shared/standalone/log/rails/production.log
/var/discourse/shared/standalone/log/rails/sidekiq.log
/var/discourse/shared/standalone/log/var-log/redis/current

Esperé a que ocurriera el evento mientras seguía los registros, pero no vi nada que destacara.

Me resulta extraño que funcione perfectamente cuando se activa a través de la interfaz web, pero no a través de la línea de comandos.

Yo también he tenido problemas para usar eso, tanto para habilitar como para deshabilitar el modo de solo lectura. La última vez terminé ejecutando Discourse.enable_readonly_mode en rails.

Siempre es una emergencia cuando sucede y no he investigado cuál podría ser el problema.

Para tu información, en mis propias herramientas de Ansible no uso el modo de solo lectura, pero sí uso Introducing Post Deployment Migration

1 me gusta

Gracias Jay. Sospecho que estoy adoptando un enfoque XY para el problema. Revisaré la migración posterior al despliegue. Gracias por eso.

Supongo que la otra opción podría ser activar RO mediante una llamada a la API.

- name: post migrations
  shell: "docker exec  {{ discourse_yml }} bash -c 'rake db:ensure_post_migrations db:migrate'"
  become: yes

así que esto podría funcionar para el modo de solo lectura:

- name: post migrations
  shell: "docker exec  {{ discourse_yml }} bash -c 'echo Discourse.enable_readonly_mode | rails c'"
  become: yes

Gracias, muy apreciado. Lo intentaré esta noche.

1 me gusta

¿La diferencia se debe al modo de solo lectura que estás utilizando?

3 Me gusta

¡Gracias JammyDodger! La información y el enlace fueron muy útiles. No estoy seguro de qué constituye un reinicio del contenedor; hasta donde yo sé, mi contenedor no se reinicia cada ~1:30, que es el tiempo que el modo RO permanece habilitado cuando se usa discourse enable_readonly, es decir, Discourse.enable_readonly_mode(Discourse::READONLY_MODE_KEY).

Sin embargo, puedo confirmar que Discourse.enable_readonly_mode(Discourse::USER_READONLY_MODE_KEY) “se mantiene” indefinidamente, que es lo que estaba tratando de lograr :+1:

1 me gusta

Para completar:

- name: Establecer modo de solo lectura para el host del foro en vivo
  ansible.builtin.shell: |
      docker exec app bash -c 'echo Discourse.enable_readonly_mode\(Discourse::USER_READONLY_MODE_KEY\) | rails c'
  register: enable_readonly_output
2 Me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.