MySQL の DATETIME 型

って、タイムゾーン情報ないから、deflate するとき set_time_zone してタイムゾーンそろえたほうがいいと思った。

あと、inflate 時も floating timezone で帰ってくるから、保存時のタイムゾーンをセットしてあげたほうが良い。

inflate => sub {
    DateTime::Format::MySQL->parse_datetime(shift)
        ->set_time_zone('local');
},
deflate => sub {
    DateTime::Format::MySQL->format_datetime(
        shift->set_time_zone('local') );
},

と思うんだけどどーなんだろ。

決めうちでしかつかわないならいいんかな。

by typester / at 2006-02-22T13:58:00 / perl · dbic / Comment

DBICのlistに投稿したメールが配信されてこねー

nekokak現象。

by typester / at 2006-02-22T10:45:00 / life / Comment

出社。

by typester / at 2006-02-22T10:36:00 / life / Comment

退社。

by typester / at 2006-02-22T01:50:00 / life / Comment

出社。

by typester / at 2006-02-21T10:27:00 / life / Comment

退社。

by typester / at 2006-02-21T02:44:00 / life / Comment

ふとサイト見たら lame のロゴが!

いつの話だよ、という感じぽい。

by typester / at 2006-02-21T01:39:00 / life / Comment

アプリだけ再起動したいこと多いし、全部 ProcManager 使ったほうがいいかも知らんね。

by typester / at 2006-02-20T15:00:00 / life / Comment

lighttpd+fastcgi時のメモリ共有

このサーバーで動いてるアプリはほとんど lighty+fastcgi で動いているけど、アクセス数的に余裕まくりなのですべて1プロセスで動かしていていままで意識していなかったのだけど、仕事で使うことになったので調べてみた。

まず、Catalyst 製アプリケーション MyApp をlighttpd.conf で以下のように設定。

fastcgi.server = (
    "" => (
        "myapp" => (
            "socket" => "/tmp/myapp.socket",
            "check-local" => "disable",
            "bin-path" => "/path/to/script/myapp_fastcgi.pl",
            "max-procs" => 5,
        ),
    ),
)

これは割りと一般的な方法。これでMyAppプロセスが5つ立ち上がる。うちもこんなようなのの max-procs を 1 にしたのを使っている。

でも lighttpd.conf で bin-path を指定すると lighty がプロセスを5つ立ち上げてる感じになり、メモリは共有されてないっぽい。pstree はこんな感じ。

|-lighttpd---5*[myapp_fastcgi.pl]

なんかテストしてるPCだとCatalystアプリを立ち上げるときにFile::Slurpのwarningがでまくりなんだけど、上記設定でlighttpd立ち上げるとプロセス数分warningが出ることからもuseまくってんだなぁということがわかる(適当だなオイ

これじゃー微妙なので、もう一つの方法を試す。

Catalyst の fastcgi.pl は FCGI::ProcManager での動作もサポートしていて、

./script/myapp_fastcgi.pl -l /tmp/myapp.socket -n 5

とすれば MyApp が FCGI::ProcManager 経由で fastcgi プロセスが 5 つ立ち上がる。これだと

|-myapp_fastcgi.pl---5*[myapp_fastcgi.pl]

こんな感じで賢い風味。File::Slurp の warning も1回しか出ない!(そこで判断かよ

これを lighty から使うにはさっきの設定から bin-path をはずせば OK。

fastcgi.server = (
    "" => (
        "myapp" => (
            "socket" => "/tmp/myapp.socket",
            "check-local" => "disable",
        ),
    ),
)

こんなんで。

で、結論としては複数プロセス立ち上げるときは FCGI::ProcManager 使わないと損ということですかね。

時間があるときに追試はしてみたい。

by typester / at 2006-02-20T14:30:00 / perl · lighttpd · fastcgi / Comment

いつのまにか Debian testing の mysql-server が 5.0 系になっとう。

MySQL は virtual package でいれないほうがいいんだなぁとかいまさら思った。

by typester / at 2006-02-20T13:37:00 / life / Comment

130 131 132 133 134 135 136 137 138 139

(Page 134 of 203)