Yes, that's right, systemsetup -gettimezone takes a full 30 seconds to run on this Mac. (Mac Pro, fairly recent, Xeon, tons of RAM, almost non-existent CPU load). Anybody have any idea wtf that's about???
I've just hard-coded the time zone default and it's fine. But still, just wondering if anybody has a clue?
Yes, that's right, systemsetup -gettimezone takes a full 30 seconds to
run on this Mac. (Mac Pro, fairly recent, Xeon, tons of RAM, almost
non-existent CPU load). Anybody have any idea wtf that's about???
I've just hard-coded the time zone default and it's fine. But still,
just wondering if anybody has a clue?
You don't happen to have "Set timezone automatically using current
location" checked in your "Date & Time" system preference? I have no
idea if this would cause the problem you're seeing, but it's the first
thing that came to mind when I saw this.
No, I have it set to a fixed location. I tried changing the location, and I tried a different NTP server as well. Neither changed anything.
Later I tried other systemsetup commands, and hell, systemsetup always takes 30 seconds, even without a command just to get into it's "console" mode takes > 30 seconds to launch. I wonder if it's doing some reverse DNS thing at launch???
The Time.zone command looks into the local time zone set for the user visiting your current page and returns it, if not found it will return the UTC Time zone. In your case looking up the timezone of the server it is running on since its a config. No need to grab it like this because ruby can do it by itself.
However, if you want to give users access to their local time zones you should go with an time_zone_select field in user registration and an application_controller before filter, something like this:
before_filter :settimezone
def settimezone
Time.zone = user.timezone || “UTC” (well, change that to whatever, but you get the point)
end