LoadError: no se puede cargar el archivo -- jobs/regular/export_csv_file

Estoy intentando añadir otro sitio a la configuración multisitio que tengo (utilicé Setup Multisite Configuration with Let's Encrypt and no Reverse Proxy para configurarlo).

Cuando intento añadir el sitio adicional, ejecuto ./launcher rebuild data y funciona bien, pero luego en ./launcher rebuild web_only, obtengo el siguiente error:

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 955 exit 1>
Location of failure: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
8f0613418f5fed4e82de31b268e364dbf6345c8e736ea26ad2f7f87cd0f37f2d
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.

Cuando busco mensajes de error anteriores, encuentro esto:

I, [2022-03-29T19:47:39.173931 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
rake aborted!
LoadError: cannot load such file -- jobs/regular/export_csv_file
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:15:in `require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:15:in `require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/zeitwerk-2.5.4/lib/zeitwerk/kernel.rb:35:in `require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.4.7/lib/active_support/dependencies/zeitwerk_integration.rb:51:in `require_dependency'
/var/www/discourse/lib/require_dependency_backward_compatibility.rb:18:in `require_dependency'
/var/www/discourse/plugins/discourse-legal-tools/plugin.rb:13:in `block in activate!'
/var/www/discourse/lib/plugin/instance.rb:486:in `block in notify_after_initialize'
/var/www/discourse/lib/plugin/instance.rb:484:in `each'
/var/www/discourse/lib/plugin/instance.rb:484:in `notify_after_initialize'
/var/www/discourse/config/application.rb:360:in `each'
/var/www/discourse/config/application.rb:360:in `block (2 levels) in <class:Application>'
/var/www/discourse/lib/plugin_initialization_guard.rb:5:in `plugin_initialization_guard'
/var/www/discourse/config/application.rb:359:in `block in <class:Application>'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.4.7/lib/active_support/lazy_load_hooks.rb:68:in `block in execute_hook'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.4.7/lib/active_support/lazy_load_hooks.rb:61:in `with_execution_control'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.4.7/lib/active_support/lazy_load_hooks.rb:66:in `execute_hook'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.4.7/lib/active_support/lazy_load_hooks.rb:52:in `block in run_load_hooks'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.4.7/lib/active_support/lazy_load_hooks.rb:51:in `each'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.4.7/lib/active_support/lazy_load_hooks.rb:51:in `run_load_hooks'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.1.4.7/lib/rails/application/finisher.rb:140:in `block in <module:Finisher>'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.1.4.7/lib/rails/initializable.rb:32:in `instance_exec'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.1.4.7/lib/rails/initializable.rb:32:in `run'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.1.4.7/lib/rails/initializable.rb:61:in `block in run_initializers'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.1.4.7/lib/rails/initializable.rb:60:in `run_initializers'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.1.4.7/lib/rails/application.rb:391:in `initialize!'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.1.4.7/lib/rails/application.rb:533:in `block in run_tasks_blocks'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Tasks: TOP => db:migrate => db:load_config => environment
(See full trace by running task with --trace)

Cuando elimino la información del sitio adicional que añadí en data.yml y web_only.yml para probar sin el nuevo sitio, la reconstrucción funciona bien.

Intenté comentar los plugins y la reconstrucción de web_only tampoco funcionó; obtendría otros errores sobre la falta de ciertas columnas en la nueva base de datos relacionadas con los plugins.

¿Alguna idea de lo que podría estar pasando?

Es posible que intentes añadir el nuevo sitio manualmente en multisite.yml dentro del contenedor y luego ejecutar la tarea rake de migración de multisitio.

¿Puedes reconstruir web_only sin el nuevo sitio?

Estás ejecutando un plugin de terceros. Intenta reconstruir sin él.

1 me gusta

Pensé que sí, pero me acabo de dar cuenta de que podía reconstruirlo sin el sitio nuevo y con todos los plugins comentados. Cuando intento reconstruir sin el sitio nuevo y con los plugins, no funciona.

Creo que la respuesta estaba ahí en el rastreo, pero simplemente no la vi: /var/www/discourse/plugins/discourse-legal-tools/plugin.rb:13:in block in activate!

…y como señaló @Falco aquí:

He deshabilitado el plugin de Legal Tools Plugin y ahora puedo reconstruir sin él y con el sitio nuevo.

Intenté reconstruir una instalación singular que tengo y que solo usa el único archivo app.yml, y también fallaba con el plugin de herramientas legales.

Así que ese parece ser el conflicto, aunque no estoy seguro de dónde está el conflicto.

1 me gusta

Gracias por el informe. Los archivos han cambiado en el núcleo de Discourse, lo que ha roto el plugin de herramientas legales. Tendré tiempo para actualizarlo a principios de la próxima semana.

1 me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.