Atualização no navegador vs Terminal

É o mesmo processo para atualizar o Discourse pelo navegador ou pelo Terminal usando o ./launcher rebuild app?
Se sim, há alguma vantagem de um sobre o outro, além de poder atualizar plugins individualmente?

Não sou um especialista nisso, então me desculpe se eu estiver dizendo algo que não faz sentido.

Estou perguntando isso porque é a segunda vez que tento atualizar pelo navegador e ele fica travado. Na primeira vez, ele começou e travou no meio do processo de atualização, e então ontem à noite (2ª vez) eu cliquei no botão de atualização, fui dormir, e esta manhã ele nem sequer havia começado. Tive que cancelar e reiniciar.

1 curtida

Use a interface gráfica sempre que possível para minimizar o tempo de inatividade (poucos segundos)

Ocasionalmente, algumas formas de atualização (por exemplo, atualização da versão do postgres) exigem uma atualização pela linha de comando. Isso é necessário nessas ocasiões, mas leva a um tempo de inatividade na instalação padrão. Geralmente cerca de 20 minutos. Escolha um período de menor movimento.

Essas ocasiões devem ser óbvias na interface gráfica.

Se você quiser adicionar ou remover um plugin, precisará usar a reconstrução do console.

3 curtidas

Como estou atualizando agora, notei que o fórum ainda está funcionando, mas às vezes um pouco mais lento. Isso é bom em comparação com o uso do Terminal, que parece fazer o fórum não funcionar completamente. Obrigado por esclarecer isso.

Mesmo para um não especialista como eu? Quero dizer, dirá algo que me mostre que devo usar o Terminal em vez disso?

Tecnicamente falando, você acha que isso mudará um dia, onde poderemos fazer tudo no navegador? Não sei as tecnicalidades desse processo, é por isso que estou perguntando.

1 curtida

Caiu novamente…

Iniciando 1 worker(s) Unicorn que foram parados inicialmente

ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL Comando foi encerrado com SIGKILL (Terminação forçada): ember build -prod
Docker Manager: FALHA AO ATUALIZAR

Isso é algo que enfrentarei com frequência? O que pode estar causando isso e como corrigir?

Suspeito que sempre será assim na instalação padrão.

Você pode encontrar recursos aqui para configurar uma “estamos offline, volte mais tarde” para mitigar esses 20 minutos, mas não é a instalação padrão e eu sugiro que você mantenha as coisas simples e fáceis de dar suporte.

Eu vi isso há alguns dias, mas era realmente muito complexo para mim.

Acabei de postar os erros que estou vendo ao tentar atualizar agora. Travou novamente. Está na minha resposta anterior.

Então, depois que ele travou, cliquei no botão para reiniciar a atualização e ele travou novamente, que foi o que aconteceu ontem à noite:

Aqui está o que notei, mas não sei se é coincidência: quando ele trava naquele estado em que nada acontece, eu clico em “Reset Update”. Tente reiniciar, nada acontece. Então volto para a página com todas as atualizações e clico no botão “Update”. Desta vez, ele inicia a atualização. Não tenho certeza se há algo quebrado no código que, após um reset, o botão para reiniciar não faz nada? Não tenho ideia, mas estou apenas compartilhando minha experiência.

Agora está atualizando novamente, depois que fiz o que acabei de descrever.

Estou confuso agora… travou novamente, mas quando atualizei o navegador, ele disse que o Discourse estava na versão mais recente…
Quando fui para a página principal de atualizações onde estão os plugins, ela de fato mostrou o Discourse como atualizado :thinking:

Tente criar um swap:

Parece que esta mensagem de erro tem sido muito comum ultimamente, e sempre foi corrigida pela criação de swap. Não sei porquê, já que os requisitos oficiais do Discourse não mudaram.

2 curtidas

Já vi essa palavra antes, mas não tenho ideia do que seja e para que serve.

Obrigado por compartilhar esse link. Com certeza farei isso e, se encontrar algum problema, o compartilharei.

Quando vou ao DigitalOcean, vejo isso para o meu droplet:
image

Então eu me “qualifico” para esse processo de swapfile que você compartilhou, certo? Porque meu servidor tem <= 2 GB de RAM.

1 curtida

Se for menor que 2 GB, eu recomendaria criar um arquivo de paginação (swapfile). O meu tem 1 GB, então eu definitivamente precisei de um.

Pelo que entendi, o swap basicamente pega um pouco de armazenamento e o converte para usar como mais memória.

2 curtidas

Então ./discourse-setup deveria ter criado uma troca automaticamente. Eu não sou muito familiarizado com os arcana da administração de sistemas, então deixarei que outros expliquem mais sobre isso.

Dito isso, mesmo com mais do que os requisitos, os usuários enfrentaram esse problema, então há algo estranho.

Quanto à atualização pela interface, achei ela um pouco pouco confiável ao longo dos anos. Não tenho certeza do porquê, parece que ela às vezes falha sem motivo aparente quando uma reconstrução funciona.

3 curtidas

Existe uma maneira, via Terminal, de ver se já existe um? (Talvez isso responda à minha pergunta? Eu não sou bom nos arcanos da administração de sistemas)

Ok, então acho que não estou sozinho aqui.

Estou um pouco confuso… usando o Terminal, essas são 2 coisas diferentes? Atualizar e Reconstruir? Porque eu tenho usado apenas ./launcher rebuild app e isso sempre funciona.

1 curtida

Ok, obrigado. Isso ajuda!

2 curtidas

Desculpe, eu quis dizer da interface, corrigi minha postagem. :slight_smile:

2 curtidas

Ok, agora faz sentido :slight_smile:
Sim, essa é a minha experiência também.
A desvantagem é que a reconstrução fecha completamente o fórum, o que não é ideal, mas fazer o quê… temos que fazer o que temos que fazer.

1 curtida

Perguntei ao Claude sobre a minha questão se havia uma forma de verificar se existe um arquivo de swap e foi o que obtive:

ATUALIZAÇÃO

Sem experiência no assunto, usei o Claude e o ChatGPT para me ajudar a entender as coisas. Então, como sugerido, optei pela rota do swapfile, mas como foi apontado, talvez eu já tivesse um swapfile baseado em como instalei o Discourse. Para ter certeza, executei

sudo swapon --show

no Terminal e obtive isto:

image

Então olhei para a coluna “USED” e pensei: “bem, se o swapfile é usado para ajudar as coisas a rodarem mais suavemente quando a RAM não é suficiente, mas diz que o swapfile está usando 1,9 GB de 2 GB, isso não vai ajudar

Então perguntei ao ChatGPT se eu poderia simplesmente limpar/esvaziar o swapfile e obtive este comando:

sudo swapoff -a &amp;&amp; sudo swapon -a

Executei, deixei fazer o que tinha que fazer e executei o outro novamente:

sudo swapon --show

Agora vejo isto:
image

Então, acho que é bom passar por esse processo de limpar/esvaziar o swapfile de vez em quando?

Vale a pena tentar aumentar seu swap:

2 curtidas

Reconstruir a partir da linha de comando consome menos RAM.

Com uma instalação de dois contêineres, você pode construir um novo contêiner enquanto o antigo continua funcionando (se você tiver RAM suficiente). Isso proporciona um tempo de inatividade mínimo.

Às vezes, é necessário fazer uma reconstrução por linha de comando porque as bibliotecas subjacentes precisam ser atualizadas e essas atualizações não podem ser feitas a partir da interface de usuário.

Você pode

cd /var/discourse
grep swap discourse-setup

para ver os comandos que ele executa para criar a troca. Se você executar swapoff (para que o arquivo não esteja mais ocupado), poderá então executar os comandos que criam o arquivo (fsallocate) para torná-lo maior, se desejar, formatá-lo como swap (mkswap) e depois usar swapon -a para ativá-lo novamente.

Se você tiver muitos plugins, provavelmente precisará de um total de 5 ou 6 GB.

4 curtidas