Jam*_*ill 6 ruby ruby-on-rails pry puma
每当我binding.pry在本地运行应用程序时,我都会像往常一样进入 pry 会话,但是大约一分钟后,我在服务器输出中看到了类似的内容。
[54438] ! Terminating timed out worker: 54455
然后服务器似乎在循环中运行了一两秒钟(重新运行导致 pry 会话的查询)并且我从同一个返回到一个新的 pry 会话binding.pry,除了在这个新的 pry 会话中,每当我输入我可以'看不到我正在输入的任何内容。解决此问题的唯一方法是退出服务器并重新启动。
我试过在我的config/puma.rb文件中插入以下行,但似乎没有任何区别。
worker_timeout 900 if ENV["RACK_ENV"] == "development"
唯一有效的是在我的 .env 文件中将 puma 工人的数量设置为 0。例如
PUMA_WORKERS=0
有没有办法解决这个问题,而不是仅仅消除所有美洲狮工人?
小智 0
Puma 配置文件是在 Puma 初始化时读取的,应用程序尚未加载,这就是为什么Rails.env.development?不起作用,也不使用RACK_ENV,因为你不在请求的范围内。
如果您只想更改worker_timeout以进行开发,您应该执行以下操作:
worker_timeout 900 unless ENV.key?('RAILS_ENV') && ENV['RAILS_ENV'] != 'development'
Run Code Online (Sandbox Code Playgroud)
这意味着,当没有设置 RAILS_ENV 或设置为 时,将超时设置为 900 development。