Чрезмерные статистические вызовы в / etc / localtime в Rails Application - PullRequest
2 голосов
/ 30 августа 2011

Я только что установил свое Rails-приложение, и оно выдает

stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2309, ...}) = 0

Звонки (действительно много!). В других контекстах я читал, что это потому, что часовой пояс не установлен. Есть ли способ «исправить» это?

Best

Tobias

Ответы [ 2 ]

4 голосов
/ 31 августа 2011

Это не проблема ruby, а проблема C / Linux: Установка «TZ» ENV-Var приведет к тому, что статистические вызовы больше не будут выполняться в etc / localtime. Хотя это не окажет значительного влияния на производительность:

# irb
require 'benchmark'
Benchmark.measure { 10_000_000.times { Time.now } }
 =>  17.880000   0.540000  18.420000 ( 21.535307)

# same with TZ=CET irb
 =>  18.040000   0.550000  18.590000 ( 20.892542)   
1 голос
/ 30 августа 2011

Как сказал @fabio, вы должны сообщить об этом на форумах Rails или в списке рассылки, потому что это, вероятно, ошибка.

Однако, для установки часового пояса в вашем config/environment.rb:

Rails::Initializer.run do |config|
  config.time_zone = "Central Time (US & Canada)"
end

Вы можете получить доступные часовые пояса с rake time:zones:us, rake time:zones:local или rake time:zones:all (в зависимости от того, где вы находитесь в мире.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...