Rubygem 在 launcher 重建应用时超时

大家好,

当我尝试通过命令行执行 ./launcher rebuild app 从 2.5.0beta2 升级到 2.5.0.beta3 时,在运行以下命令时不断遇到 RubyGem 超时问题,导致重建失败:

cd /var/www/discourse && gem update bundler

有人遇到过同样的问题吗?有时会在 rubygems.org/specs.4.8.gz 文件上超时,有时则是在特定包上超时。之前在这个实例上的升级都能顺利完成。有什么办法可以解决这个问题吗?如果不行,我准备尝试从备份进行全新安装。

I, [2020-04-26T00:37:59.817638 #1]  INFO -- : > cd /var/www/discourse && gem update bundler
ERROR:  While executing gem ... (Gem::RemoteFetcher::UnknownHostError)
    timed out (https://rubygems.org/specs.4.8.gz)
167:signal-handler (1587861540) Received SIGTERM scheduling shutdown...
I, [2020-04-26T00:39:00.334060 #1]  INFO -- : 
I, [2020-04-26T00:39:00.334828 #1]  INFO -- : Terminating async processes
I, [2020-04-26T00:39:00.335004 #1]  INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/10/bin/postmaster -D /etc/postgresql/10/
main pid: 50
I, [2020-04-26T00:39:00.335154 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 167
2020-04-26 00:39:00.335 UTC [50] LOG:  received fast shutdown request
167:M 26 Apr 2020 00:39:00.351 # User requested shutdown...
167:M 26 Apr 2020 00:39:00.351 * Saving the final RDB snapshot before exiting.
2020-04-26 00:39:00.360 UTC [50] LOG:  aborting any active transactions
2020-04-26 00:39:00.362 UTC [50] LOG:  worker process: logical replication launcher (PID 59) exited with exit code 1
2020-04-26 00:39:00.365 UTC [54] LOG:  shutting down
167:M 26 Apr 2020 00:39:00.616 * DB saved on disk
167:M 26 Apr 2020 00:39:00.616 # Redis is now ready to exit, bye bye...
2020-04-26 00:39:00.747 UTC [50] LOG:  database system is shut down


FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && gem update bundler failed with return #<Process::Status: pid 307 exit 1>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"web", "cmd"=>["gem update bundler", "find $home ! -user discourse -exec chown discourse {} \\+"]}
7b53e40ff232069b5b0ac1355c706d777536284eece872cb7cfe46647561aa9b
** FAILED TO BOOTSTRAP ** 请向上滚动查看之前的错误信息,可能不止一条。
./discourse-doctor 可能有助于诊断问题。

Rubygem 偶尔会出现故障,尤其是在来自或经过中国的 AWS 实例上被大量请求时。

问题是否仍然存在?

是的,我仍然遇到这个问题(在运行于 Compute Canada 的 OpenStack 云基础设施上的实例上)。如果其他人没有遇到类似问题,那更可能是我们本地环境的问题,我会尝试进一步调查..

更新 算了,再试一次后它刚刚完成了!它抱怨超时,但继续使用了锁文件中的解析结果。

I, [2020-04-27T07:06:48.945052 #1]  INFO -- : 使用 bundler 2.1.4 运行 `bundle install --deployment --jobs 4 --retry 3 --verbose --without "test" "development"`
已冻结,使用锁文件中的解析结果
定义中缺少 ["tzinfo-1.2.7", "zeitwerk-2.3.0", "activesupport-6.0.2.2", "nokogiri-1.10.9", "loofah-2.5.0", "actionview-6.0.2.2", "actionpack-6.0.2.2", "activejob-6.0.2.2", "actionmailer-6.0.2.2", "activemodel-6.0.2.2", "activerecord-6.0.2.2", "public_suffix-4.0.4", "aws-eventstream-1.1.0", "aws-partitions-1.298.0", "aws-sigv4-1.1.2", "aws-sdk-core-3.94.0", "aws-sdk-kms-1.30.0", "aws-sdk-s3-1.62.0", "aws-sdk-sns-1.22.0", "bootsnap-1.4.6", "openssl-signature_algorithm-0.4.0", "cose-1.0.0", "railties-6.0.2.2", "json-2.3.0", "logster-2.8.0", "message_bus-3.0.0", "mini_racer-0.2.10", "sidekiq-6.0.7", "mini_sql-0.2.5", "oauth2-1.4.4", "oj-3.10.6", "omniauth-1.9.1", "onebox-1.9.27.1", "optimist-3.0.1", "pg-1.2.3", "puma-4.3.3", "rack-mini-profiler-2.0.1", "rails_multisite-2.1.1", "rbtrace-0.4.12", "rubyzip-2.3.0", "unf_ext-0.0.7.7", "unicorn-5.5.4"]
HTTP GET https://index.rubygems.org/versions
HTTP 206 Partial Content https://index.rubygems.org/versions
正在从 https://rubygems.org/ 获取 gem 元数据
...