J’ai migré un forum de 200 000 messages vers un nouveau serveur. Le site en production a été mis en mode lecture seule afin d’éviter toute interruption de service.
J’ai restauré la sauvegarde sur un sous-domaine différent pour que les utilisateurs ne voient pas les écrans d’installation ou les problèmes potentiels lors de la restauration, quelque chose comme dev.example.com.
Dès que la restauration a été terminée, j’ai pointé le DNS vers le nouveau serveur et j’ai modifié le domaine dans le fichier app.yml pour qu’il pointe vers le domaine normal forum.example.com.
Ensuite, tous les smileys dans les messages de base pointaient vers le serveur dev.example.com, j’ai donc exécuté rake:rebake.
Il traite environ 1 000 à 2 000 messages avant de planter avec des erreurs de connexion à la base de données.
Voici quelques extraits :
/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
Pour le moment, je fais charger les images en redirigeant le domaine dev.example.com vers le domaine forum.example.com, mais c’est une solution temporaire.
Quelqu’un sait comment surmonter cette erreur pour que je puisse ré-analyser tous les messages ? Est-ce que cela crée trop de charge sur la base de données ?
