Ich habe ein Forum mit 200.000 Beiträgen auf einen neuen Server migriert. Die Live-Seite wurde in den schreibgeschützten Modus versetzt, um Ausfallzeiten zu vermeiden.
Ich habe das Backup auf einer anderen Subdomain wiederhergestellt, damit die Benutzer die Installationsbildschirme oder Probleme, die während der Wiederherstellung auftreten könnten, nicht sehen – so etwas wie dev.example.com.
Sobald die Wiederherstellung abgeschlossen war, habe ich die DNS-Einträge auf den neuen Server umgeleitet und die Domain in der Datei app.yml auf die normale forum.example.com geändert.
Dann zeigten alle Smileys in den Basisbeiträgen auf den Server dev.example.com, also habe ich rake:rebake ausgeführt.
Es verarbeitet etwa 1.000-2.000 Beiträge, bevor es mit Fehlern bezüglich der Datenbankverbindung abstürzt.
Hier sind ein paar Auszüge:
/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
Im Moment lade ich die Bilder, indem ich die Domain dev.example.com auf die Domain forum.example.com umleite, aber das ist nur eine vorübergehende Lösung.
Weiß jemand, wie man diesen Fehler umgehen kann, damit ich alle Beiträge neu backen kann? Verursacht dies zu viel Last auf der Datenbank?
