Ho migrato un forum di 200.000 post su un nuovo server. Il sito live è stato messo in modalità di sola lettura per evitare tempi di inattività.
Ho ripristinato il backup su un sottodominio diverso in modo che gli utenti non vedessero le schermate di installazione o eventuali problemi che potrebbero verificarsi durante il ripristino, qualcosa come dev.example.com.
Appena completato il ripristino, ho puntato il DNS al nuovo server e ho modificato il dominio nel file app.yml in forum.example.com.
Quindi tutte le faccine nei post originali puntavano al server dev.example.com, quindi ho eseguito rake:rebake.
Procede con circa 1.000-2.000 post prima di bloccarsi con errori relativi alla connessione al database.
Ecco un paio di estratti:
/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
Al momento, ho le immagini che si caricano reindirizzando il dominio dev.example.com al dominio forum.example.com, ma è solo una soluzione temporanea.
Qualcuno sa come superare quell’errore in modo da poter rifare il rebake di tutti i post? Sta creando troppo carico sul database?
