Site sai automaticamente do modo somente leitura quando habilitado por 'discourse enable_readonly'

Olá pessoal,

Estou configurando automação para implantação e migração com Ansible, mas estou com um problema no modo somente leitura.

Quando ativei o modo somente leitura com:
docker exec app discourse enable_readonly
ou

./launcher enter app
discourse enable_readonly

Após cerca de 1:20, o site sai do modo somente leitura por conta própria.

Se eu ativar o modo somente leitura pela interface web (seção admin/backups), ele permanece ativado até que eu o desative.

Alguma ideia?

1 curtida

Você verificou seus logs? Talvez você tenha um job em segundo plano ou um plugin em algum lugar que esteja interrompendo o processo.

Olá Lilly,

Obrigado pela sua resposta. Esta é uma instalação padrão nova e eu não instalei nenhum plugin ou criei nenhum trabalho. Quais logs devo verificar? Desculpe, sou um pouco novato.

Eu tentei tail -f em:

/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

Eu esperei o evento ocorrer enquanto acompanhava os logs, mas não vi nada que se destacasse.

É estranho para mim que funcione perfeitamente quando ativado pela WebUI, mas não pela linha de comando.

Também tive problemas ao usar isso, tanto para ativar quanto para desativar o modo somente leitura. Da última vez, acabei executando Discourse.enable_readonly_mode no rails.

É sempre uma emergência quando acontece e não investiguei qual pode ser o problema.

Para constar, em minhas próprias ferramentas Ansible, não uso o modo somente leitura, mas uso Introducing Post Deployment Migration

1 curtida

Obrigado, Jay. Suspeito que estou adotando uma abordagem XY para o problema. Vou verificar a Migração Pós-Implantação. Obrigado por isso.

Acho que a outra opção pode ser ativar o RO por meio de uma chamada de API.

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

então isso pode funcionar para o modo somente leitura:

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

Obrigado, muito apreciado. Vou tentar isso esta noite.

1 curtida

A diferença se deve ao modo somente leitura que você está usando?

3 curtidas

Obrigado JammyDodger! As informações e o link foram muito úteis. Não tenho certeza do que constitui uma reinicialização do contêiner - até onde sei, meu contêiner não está reiniciando a cada ~1:30, que é o tempo que o modo RO permanece ativado ao usar discourse enable_readonly, ou seja, Discourse.enable_readonly_mode(Discourse::READONLY_MODE_KEY)

Posso confirmar, no entanto, que Discourse.enable_readonly_mode(Discourse::USER_READONLY_MODE_KEY) “persiste” indefinidamente, que era o que eu estava tentando alcançar :+1:

1 curtida

Para completar:

- name: Definir modo somente leitura para o host do fórum ativo
  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 curtidas

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