全部更新后论坛未启动

我看到一些官方插件需要更新,我的 Discourse 版本也需要更新。只是一个提交哈希(commit hash)的更新,没什么大不了的。
然而,在让它自行更新后,我遇到了那个可怕的“糟糕!此讨论论坛的软件遇到了意外问题。我们对造成的不便深表歉意。”
以下是 /logs 中的错误:

这是报告了 89 条消息的错误:

Message (89 copies reported)

Failed to warm up pretty text: JavaScript was terminated (either by timeout or explicitly)
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.14.1/lib/mini_racer.rb:237:in `eval_unsafe'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.14.1/lib/mini_racer.rb:237:in `block (2 levels) in eval'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.14.1/lib/mini_racer.rb:378:in `timeout'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.14.1/lib/mini_racer.rb:236:in `block in eval'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.14.1/lib/mini_racer.rb:234:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.14.1/lib/mini_racer.rb:234:in `eval'
/var/www/discourse/lib/discourse_js_processor.rb:98:in `create_new_context'
/var/www/discourse/lib/discourse_js_processor.rb:114:in `block in v8'
/var/www/discourse/lib/discourse_js_processor.rb:112:in `synchronize'
/var/www/discourse/lib/discourse_js_processor.rb:112:in `v8'
/var/www/discourse/lib/discourse_js_processor.rb:127:in `block in v8_call'
/var/www/discourse/lib/discourse_js_processor.rb:126:in `synchronize'
/var/www/discourse/lib/discourse_js_processor.rb:126:in `v8_call'
/var/www/discourse/lib/discourse_js_processor.rb:151:in `perform'
/var/www/discourse/lib/pretty_text.rb:34:in `apply_es6_file'
/var/www/discourse/lib/pretty_text.rb:41:in `block in ctx_load_directory'
/var/www/discourse/lib/pretty_text.rb:39:in `each'
/var/www/discourse/lib/pretty_text.rb:39:in `ctx_load_directory'
/var/www/discourse/lib/pretty_text.rb:77:in `create_es6_context'
/var/www/discourse/lib/pretty_text.rb:136:in `block in v8'
/var/www/discourse/lib/pretty_text.rb:134:in `synchronize'
/var/www/discourse/lib/pretty_text.rb:134:in `v8'
/var/www/discourse/lib/pretty_text.rb:177:in `block in markdown'
/var/www/discourse/lib/pretty_text.rb:686:in `block in protect'
/var/www/discourse/lib/pretty_text.rb:686:in `synchronize'
/var/www/discourse/lib/pretty_text.rb:686:i...

Backtrace

/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:134:in `block in error'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `block in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:134:in `error'
/var/www/discourse/lib/discourse.rb:947:in `rescue in after_fork'
/var/www/discourse/lib/discourse.rb:943:in `after_fork'
/var/www/discourse/lib/demon/base.rb:248:in `establish_app'
/var/www/discourse/lib/demon/base.rb:183:in `block in run'
/var/www/discourse/lib/demon/base.rb:180:in `fork'
/var/www/discourse/lib/demon/base.rb:180:in `run'
/var/www/discourse/lib/demon/base.rb:173:in `start'
/var/www/discourse/lib/demon/base.rb:93:in `restart'
/var/www/discourse/lib/demon/sidekiq.rb:36:in `block in heartbeat_check'
/var/www/discourse/lib/demon/sidekiq.rb:27:in `each'
/var/www/discourse/lib/demon/sidekiq.rb:27:in `heartbeat_check'
config/unicorn.conf.rb:131:in `block (2 levels) in reload'

如果您需要其他错误的错误信息,请告诉我。

你试过
./launcher rebuild app 吗

4 个赞

没想过,哈哈。我会运行它,谢谢!

@pfaffman 我可以关闭终端,它仍然会在后台运行,对吗?

大部分不是。

4 个赞

如果你想要这个,你需要使用会话管理器,例如 screentmux

2 个赞

如果你问这个问题,答案是“否”,你应该保持终端打开,并至少检查它是否在没有错误的情况下完成。你可能应该做的是在一个你能看到的窗口中保持它打开,同时在另一个窗口中做一些比看文本滚动更不无聊的事情。

如果你的问题是“如何保持一个ssh会话运行,使其在断开连接后不会关闭,并且以后可以重新连接”,那么你应该了解 screen 或 tmux。在我看来,你对终端会话工作方式的理解是,保持终端打开对你来说是最好的选择。

6 个赞

论坛已重建,现在可以正常工作。

2 个赞

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