每次有人访问该网站时,Rails应用程序中的初始化程序是否都运行?初始化器在Rails中运行的频率如何?
例如,如果我的服务器在上午10点在德克萨斯州启动,并且有人在下午1点从纽约访问我的站点。并且有人在晚上10点从洛杉矶到访,在纽约和洛杉矶的人们访问时,在轨道应用程序中运行初始化程序,还是在我启动德克萨斯州的服务器后运行初始化程序?
我问的原因是因为我在初始化文件中使用了一个case表达式来根据应用访问的时间更改电子邮件设置。如果初始化程序在有人访问该网站时运行,这只会有意义。如果它们只在服务器启动时才运行,那么它只会是一种情况...
如果这不是正确的地方,或者初始化程序只在德克萨斯州启动服务器时运行(例如)那么你会把这个代码放在哪里?
case
when Time.now.hour == 0
ActionMailer::Base.smtp_settings = {
:user_name => "[email protected]",
:password => "blahblah",
:address => "smtp.examplel.com",
:port => 25,
:tls => true
}
when Time.now.hour == 1
ActionMailer::Base.smtp_settings = {
:user_name => "[email protected]",
:password => "eatshit",
:address => "smtp.example.com",
:port => 25,
:tls => true
}
end