Migré un foro de 200.000 publicaciones a un nuevo servidor. El sitio en vivo se puso en modo de solo lectura para evitar tiempos de inactividad.
Restauré la copia de seguridad en un subdominio diferente para que los usuarios no vieran las pantallas de instalación ni ningún problema que pudiera ocurrir durante la restauración, algo como dev.example.com.
Tan pronto como la restauración se completó, apunté el DNS al nuevo servidor y cambié el dominio del archivo app.yml al forum.example.com normal.
Luego, todas las caritas sonrientes en las publicaciones base apuntaban al servidor dev.example.com, así que ejecuté rake:rebake.
Procesa alrededor de 1.000-2.000 publicaciones antes de fallar con errores sobre la conexión a la base de datos.
Aquí hay un par de extractos:
/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
En este momento, tengo las imágenes cargando redirigiendo el dominio dev.example.com al dominio forum.example.com, pero es solo una solución temporal.
¿Alguien sabe cómo superar ese error para poder volver a hornear todas las publicaciones? ¿Está creando demasiada carga en la base de datos?
