Il sito esce automaticamente dalla modalità di sola lettura quando abilitato da 'discourse enable_readonly'

Ciao a tutti,

Sto impostando un’automazione per il deployment e la migrazione con Ansible ma ho un problema con la modalità di sola lettura.

Quando ho abilitato la modalità di sola lettura con:
docker exec app discourse enable_readonly
o

./launcher enter app
discourse enable_readonly

Dopo circa 1:20 il sito esce dalla modalità di sola lettura da solo.

Se abilito la modalità di sola lettura tramite l’interfaccia Web (sezione admin/backup), rimane abilitata finché non la disabilito.

Qualche idea?

1 Mi Piace

Hai controllato i tuoi log? forse hai un processo in background o un plugin da qualche parte che sta interrompendo il processo.

Ciao Lilly,

Grazie per la tua risposta. Si tratta di una nuova installazione predefinita e non ho installato plugin né creato alcun job. Quali log mi consigli di controllare? Scusa, sono un po’ un novellino.

Ho provato tail -f su:

/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

Ho atteso che si verificasse l’evento mentre seguivo i log ma non ho visto nulla di particolare.

Mi sembra strano che funzioni perfettamente quando attivato tramite la WebUI ma non tramite la cli.

Ho avuto problemi anche io ad usarlo, sia per abilitare che per disabilitare la modalità di sola lettura. L’ultima volta ho finito per eseguire Discourse.enable_readonly_mode in rails.

È sempre un’emergenza quando succede e non ho indagato su quale possa essere il problema.

A titolo informativo, nei miei strumenti Ansible non uso la modalità di sola lettura, ma uso Introducing Post Deployment Migration

1 Mi Piace

Grazie Jay. Sospetto di stare adottando un approccio XY al problema. Controllerò la migrazione post-distribuzione. Grazie per questo.

Suppongo che l’altra opzione potrebbe essere quella di attivare RO tramite una chiamata API.

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

quindi questo potrebbe funzionare per la modalità di sola lettura:

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

Grazie, molto apprezzato. Ci proverò stasera.

1 Mi Piace

La differenza è dovuta alla modalità di sola lettura che stai utilizzando?

3 Mi Piace

Grazie JammyDodger! Le informazioni e il link sono stati molto utili. Non sono sicuro di cosa costituisca un riavvio del container: per quanto ne so, il mio container non si riavvia ogni ~1:30, che è il tempo massimo in cui la modalità RO rimane attiva quando si usa discourse enable_readonly, cioè Discourse.enable_readonly_mode(Discourse::READONLY_MODE_KEY)

Posso confermare tuttavia che Discourse.enable_readonly_mode(Discourse::USER_READONLY_MODE_KEY) “rimane” indefinitamente, che è ciò che stavo cercando di ottenere :+1:

1 Mi Piace

Per completezza:

- name: Imposta la modalità di sola lettura per l'host del forum live
  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 Mi Piace

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