1

我正在使用 byebug 调试我的 rails 应用程序。调试器停止但在一段时间后自动继续并给出:

[5188]!终止超时工作人员:5378

  • 工人 0 (pid: 5959) 已启动,阶段:0

有时它也会使终端挂起。请帮忙!

4

1 回答 1

0

我可以通过更改 config/puma.rb 中的 worker_timeout 来解决这个问题。使用这些行的新 Rails 6.1 项目似乎已经解决了这个问题:

# Specifies the `worker_timeout` threshold that Puma will use to wait before
# terminating a worker in development environments.
#
worker_timeout 3600 if ENV.fetch("RAILS_ENV", "development") == "development"

默认值为 90 秒。

美洲狮文档说:

验证所有工作人员是否已在给定的超时时间内签入到主进程。如果不是,工作进程将重新启动。这不是请求超时,而是为了防止进程挂起或死机。设置此值不会防止缓慢的请求。

https://www.rubydoc.info/gems/puma/Puma%2FDSL:worker_timeout

于 2021-01-23T19:00:19.450 回答