为什么我的脚本会出现 Net::ReadTimeout 错误?

Why did my script error out with a Net::ReadTimeout error?

我写了一个 RoR Rake 脚本,它通过 XMLRPC 与 Python ORM 接口,将数千个产品从一个 Postgres 服务器导入到 Python ORM 的服务器(也在 Postgres 上)。

脚本 运行 很好。我离开计算机并在 5 分钟后返回,看到以下错误:

rake aborted!
Net::ReadTimeout: Net::ReadTimeout

可能是什么原因导致了这个错误?

注意:我写这个问题的目的是提供我自己的答案,以帮助将来可能遇到此问题的任何人。

错误是由于我的电脑进入休眠状态,或者至少是硬盘驱动器转速下降并进入低功耗模式。

我知道错误的原因可能看起来很明显,但我认为它值得扔掉。

我是 运行 macOS Mojave 10.14。

我通过转到系统 Preferences/Energy Saver/Power 适配器并选中 "Prevent computer from sleeping automatically when the display is off" 并取消选中 "Put hard disks to sleep when possible" 来解决错误(尽管我怀疑第二个是否有必要,我这样做是为了以防万一)。