我正在使用byebug调试我的Rails应用程序。调试器停止运行,但在一定时间间隔后会自动继续运行并给出以下信息:
[5188]!终止超时的工人:5378
,有时还会使终端挂起。 请帮忙!
答案 0 :(得分: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