Le site sort automatiquement du mode lecture seule lorsqu'il est activé par 'discourse enable_readonly'

Salut tout le monde,

Je mets en place une automatisation pour le déploiement et la migration avec Ansible, mais j’ai un problème avec le mode lecture seule.

Lorsque j’ai activé le mode lecture seule avec :
docker exec app discourse enable_readonly
ou

./launcher enter app
discourse enable_readonly

Après environ 1:20, le site sort tout seul du mode lecture seule.

Si j’active le mode lecture seule via l’interface web (section admin/sauvegardes), il reste activé jusqu’à ce que je le désactive.

Des idées ?

1 « J'aime »

Avez-vous vérifié vos journaux ? peut-être qu’un travail d’arrière-plan ou un plugin quelque part interrompt le processus.

Salut Lilly,

Merci pour ta réponse. Il s’agit d’une nouvelle installation par défaut et je n’ai installé aucun plugin ni créé aucun travail. Quels journaux me conseilles-tu de consulter ? Désolé, je suis un peu un débutant.

J’ai essayé tail -f sur :

/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

J’ai attendu que l’événement se produise tout en suivant les journaux, mais je n’ai rien vu qui sorte du lot.

Il est étrange pour moi que cela fonctionne parfaitement lorsqu’il est activé via l’interface Web, mais pas via la ligne de commande.

J’ai également eu du mal à l’utiliser, tant pour activer que pour désactiver le mode lecture seule. La dernière fois, j’ai fini par exécuter Discourse.enable_readonly_mode dans Rails.

C’est toujours une urgence quand cela arrive et je n’ai pas enquêté sur la cause possible du problème.

Pour information, dans mes propres outils Ansible, je n’utilise pas le mode lecture seule, mais j’utilise Introducing Post Deployment Migration

1 « J'aime »

Merci Jay. Je soupçonne que j’adopte une approche XY pour résoudre le problème. Je vais examiner la migration post-déploiement. Merci pour cela.

Je suppose que l’autre option pourrait être d’activer RO via un appel API.

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

donc cela pourrait fonctionner pour le mode lecture seule :

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

Merci, j’apprécie beaucoup. Je vais essayer ça ce soir.

1 « J'aime »

La différence est-elle due au mode lecture seule que vous utilisez ?

3 « J'aime »

Merci JammyDodger ! Les informations et le lien ont été très utiles. Je ne suis pas sûr de ce qui constitue un redémarrage de conteneur - pour autant que je sache, mon conteneur ne redémarre pas toutes les ~1:30, ce qui est la durée pendant laquelle le mode RO reste activé lorsque j’utilise discourse enable_readonly, c’est-à-dire Discourse.enable_readonly_mode(Discourse::READONLY_MODE_KEY).

Je peux cependant confirmer que Discourse.enable_readonly_mode(Discourse::USER_READONLY_MODE_KEY) « tient » indéfiniment, ce qui est ce que j’essayais d’accomplir :+1:

1 « J'aime »

Pour être complet :

- name: Définir le mode lecture seule pour l'hôte du forum en direct
  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 « J'aime »

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