Trình khởi tạo trong ứng dụng Rails có chạy mỗi khi có ai đó truy cập trang web không?Tần suất các trình khởi tạo chạy trong Rails?
Ví dụ: nếu máy chủ của tôi bắt đầu ở Texas lúc 10 giờ sáng và một người nào đó truy cập trang web của tôi từ New York lúc 1 giờ chiều. và một người nào đó đến từ Los Angeles lúc 10 giờ sáng, các nhà khởi tạo trong một ứng dụng đường ray có chạy khi những người đến từ New York và Los Angeles truy cập hay những người khởi chạy chỉ chạy khi tôi khởi động máy chủ ở Texas?
Lý do tôi hỏi là vì tôi đang sử dụng biểu thức chữ hoa trong tệp khởi tạo để thay đổi cài đặt email tùy thuộc vào thời gian trong ngày mà ứng dụng được truy cập. Điều này sẽ chỉ có ý nghĩa tất nhiên nếu initializers chạy khi ai đó truy cập vào trang web. Nếu chúng chỉ chạy khi máy chủ được khởi động thì nó sẽ chỉ là một trường hợp ...
Nếu đó không phải là nơi thích hợp để thực hiện, hoặc nếu khởi chạy chỉ chạy khi máy chủ được khởi động ở Texas (ví dụ) thì bạn sẽ đặt mã này ở đâu?
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