Migrei um fórum com 200.000 posts para um novo servidor. O site ativo foi colocado em modo somente leitura para que não houvesse tempo de inatividade.
Restaurei o backup em um subdomínio diferente para que os usuários não vissem as telas de instalação ou quaisquer problemas que pudessem ocorrer durante a restauração – algo como dev.example.com.
Assim que a restauração foi concluída, apontei o DNS para o novo servidor e alterei o domínio no arquivo app.yml para o normal forum.example.com.
Então, todos os emoticons nos posts base estavam apontando para o servidor dev.example.com, então executei rake:rebake.
Ele processa cerca de 1.000-2.000 posts antes de travar com erros sobre a conexão com o banco de dados.
Aqui estão alguns trechos:
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.4/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.4/lib/bundler/cli.rb:34:in `dispatch'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.4/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.4/lib/bundler/cli.rb:28:in `start'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.4/exe/bundle:45:in `block in <top (required)>'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.4/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.4/exe/bundle:33:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
1999 / 200968 ( 1.0%)
Failed to rebake (topic_id: 78730, post_id: 210607)
PG::ConnectionBad: PQsocket() can't get socket descriptor
/var/www/discourse/lib/tasks/posts.rake:108:in `rebake_posts_all_sites'
/var/www/discourse/lib/tasks/posts.rake:7:in `block in <main>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Caused by:
PG::ConnectionBad: PQsocket() can't get socket descriptor
No momento, estou carregando as imagens redirecionando o domínio dev.example.com para o domínio forum.example.com, mas é apenas uma solução temporária.
Alguém sabe como superar esse erro para que eu possa refazer todos os posts? Isso está criando muita carga no banco de dados?
