ruby-on-rails – 初始化程序在Rails中运行的频率如何?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 初始化程序在Rails中运行的频率如何?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
每次有人访问网站时,Rails应用程序中的初始化程序是否都会运行?

例如,如果我的服务器是在上午10点在德克萨斯州启动的,那么有人会在下午1点从纽约访问我的网站.有人在晚上10点从洛杉矶来访,在纽约和洛杉矶的人们访问时,在轨道应用程序中运行初始化程序,或者只在我在德克萨斯州启动服务器时才运行初始化程序吗?

我问的原因是因为我在初始化文件中使用case表达式来根据访问应用程序的时间来更改电子邮件设置.只有在有人访问该网站时才会运行初始化程序,这才有意义.如果它们仅在服务器启动时运行,那么它只会是一个案例……

如果这不是正确的地方,或者如果初始化程序仅在德克萨斯州启动服务器时运行(例如),那么您将在何处放置此代码

case

    when Time.now.hour == 0


    ActionMailer::Base.smtp_settings = {
      :user_name => "blahblah@example.com",:password => "blahblah",:address => "smtp.examplel.com",:port => 25,:tls => true
    }

    when Time.now.hour == 1

    ActionMailer::Base.smtp_settings = {
      :user_name => "blah@example.com",:password => "eatshit",:address => "smtp.example.com",:tls => true
    }

end

解决方法

无论何时启动乘客/杂种或任何使用的东西,初始化器都会加载.

要在运行时设置这些设置,请查看Rails: Runtime configuration of ActionMailer?

猜你在找的Ruby相关文章