gpt4 book ai didi

ruby-on-rails - Rails 应用程序挂起 : Completed 401 Unauthorized in x ms

转载 作者:行者123 更新时间:2023-12-01 08:28:38 27 4
gpt4 key购买 nike

在将 Rails 应用程序从 RestfulAuthentication 和 Rails 2.3 更新到 Devise 和 Rails 5.0 后,我们收到奇怪的“401 Unauthorized”错误,并且 rails 应用程序在第一个请求时挂起:

Completed 401 Unauthorized in x ms

其中 x 是一个非常高的数字。仅当服务器第一次启动时(长时间不活动后)才会出现该错误。应用程序只是挂起并拒绝启动,如果我们中断服务器,则会出现 401 Unauthorized 错误。我们使用 Webrick、Puma、Thin 或 Unicorn 似乎并不重要。 ApplicationController好像
class ApplicationController < ActionController::Base
protect_from_forgery with: :exception
before_action :set_http_headers
alias login_required authenticate_user!
...

(添加别名是为了保证顺利过渡到 Devise)。 database.yml 配置文件看起来像
development:
adapter: mysql2
encoding: utf8
database: db_name
pool: 5
timeout: 5000
username: db_user
passwort:

一旦应用程序运行,错误就会消失,但如果我们在几个小时后或第二天重新启动计算机,错误就会再次出现。

偶尔也会出现超时错误,例如
ActiveRecord::ConnectionTimeoutError: could not obtain a connection from the pool within 5.000 seconds (waited 5.003 seconds); all pooled connections were in use

或者
No live threads left. Deadlock? (fatal)

相关的设计问题( herehere )没有帮助,并且没有任何相关问题提供解决方案, ActiveRecord::Base.clear_active_connections!帮助,如建议 here也不是 Session.delete_all ( session 存储在 ActiveRecord 中)。帮助!有任何想法吗?

最佳答案

我同意这是一个特别讨厌的错误。对我来说,最终解决的问题正在改变:

config.eager_load = false


config.eager_load = true

在 config/environments/development.rb

关于ruby-on-rails - Rails 应用程序挂起 : Completed 401 Unauthorized in x ms,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39344542/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com