Hatena::Groupcatalyst

dann@catalyst このページをアンテナに追加 RSSフィード

2008-03-21

CatalystのBaseのController

01:22 |  CatalystのBaseのController - dann@catalyst を含むブックマーク はてなブックマーク -  CatalystのBaseのController - dann@catalyst  CatalystのBaseのController - dann@catalyst のブックマークコメント

Namespaces

When you try to put a base class for a Model, View or Controller directly under your MyApp directory as, for example, MyApp::Controller::Foo, you will have the problem that Catalyst will try to load that base class as a component of your application. The solution is simple: Use another namespace. Common ones are MyApp::Base::Controller::* or MyApp::ControllerBase::* as examples.

Controllerのベースクラスは、Controller以下においちゃうとコンポーネントとしてロードしちゃうから違うところにおいてねと。ということで、MyApp::Base::Controller配下におくようにした。ただ、なんか綺麗じゃないなぁ。

monit入門

20:39 |  monit入門 - dann@catalyst を含むブックマーク はてなブックマーク -  monit入門 - dann@catalyst  monit入門 - dann@catalyst のブックマークコメント

Catalystアプリのmonitoring用に使ってみた。apache2とmysqlが落ちてたら自動で再起動が基本的な動作。configがDSLっぽくかけるのは気持ちがいいですね。再起動用途に使うのは案外いいかも。

設定

/etc/monit/monitrc

###############################################################################
## Global section
###############################################################################
##
## Start monit in background (run as daemon) and check the services at 10 second
## intervals.

set daemon 10

#
## Set syslog logging with the 'daemon' facility. If the FACILITY option is
## omited, monit will use 'user' facility by default. You can specify the
## path to the file for monit native logging.

set logfile syslog facility log_daemon


## Monit has an embedded webserver, which can be used to view the
## configuration, actual services parameters or manage the services using the
## web interface.
#
set httpd port 2812 and
     use address 192.168.0.30  # only accept connection from 192.168.0.30
     allow localhost        # allow localhost to connect to the server
     allow 192.168.0.0/255.255.255.0
     allow admin:monit      # require user 'admin' with password 'monit'

###############################################################################
## Includes
###############################################################################
##
## It is possible to include the configuration or its parts from other files or
## directories.

include /etc/monit/conf.d/*

/etc/monit/conf.d/apache.monitrc

# Monitoring the apache2 web services.
# It will check process apache2 with given pid file.
# If process name or pidfile path is wrong then monit will
# give the error of failed. tough apache2 is running.
check process apache2 with pidfile /var/run/apache2.pid
    group apache
    start program = "/etc/init.d/apache2 start"
    stop program = "/etc/init.d/apache2 stop"
    if failed host 127.0.0.1 port 80
        protocol http request /index.html
    then restart
    if cpu > 95% for 5 cycles then restart
    if totalmem > 800.0 MB for 5 cycles then restart
    if children > 250 then restart
    if 3 restarts within 5 cycles then timeout

/etc/monit/conf.d/mysql.monitrc

#Monitoring Mysql Service

check process mysql with pidfile /var/run/mysqld/mysqld.pid
    group database
    start program = "/etc/init.d/mysql start"
    stop program = "/etc/init.d/mysql stop"
    if failed host 127.0.0.1 port 3306 then restart
    if 5 restarts within 5 cycles then timeout

/etc/monit/conf.d/ssh.monitrc

check process sshd with pidfile /var/run/sshd.pid
    start program "/etc/init.d/ssh start"
    stop program "/etc/init.d/ssh stop"
    if failed port 22 protocol ssh then restart
    if 5 restarts within 5 cycles then timeout

syntax check

% sudo monit -t

サービスの有効化

% sudo vi

/etc/default/monit

startup=1

管理画面

http://localhost:2812/ で管理画面

管理画面は自宅サーバー用にはいいかもね。台数が多いと複数台のサーバーを監視できるツールをいれたほうがよいような。

動作確認

tail -f /var/log/syslog

で監視しつつ、/etc/init.d/apache2 stop とかをやってみる。

TODO

  • set daemon 10が効いていない・・・。
    • デフォルト値の120秒で再起動するようになる。うーむ... 自宅サーバー用にはこれでもいいけど...
    • monit version は 4.8.1

APIの入出力フォーマット切り替え

13:51 |  APIの入出力フォーマット切り替え - dann@catalyst を含むブックマーク はてなブックマーク -  APIの入出力フォーマット切り替え - dann@catalyst  APIの入出力フォーマット切り替え - dann@catalyst のブックマークコメント

masakiさんのコメントが!

content typeでAPIの入出力のフォーマットを切り替え>自分はattributeベースでJavaのannotationみたくやってる

まだattributeでのイメージができてないので、今度詳しく教えてもらいたい!

その前にAttributeでやるのとActionでやるのと、どこら辺に違いがでてきそうなのかがわかってないので、Catalystのコードをちゃんと読まないとなぁ。

NicoNico2012/10/31 14:14Furrealz? That's marvleusoly good to know.

tgxbwphztgxbwphz2012/11/02 07:062v4LVy , [url=http://ztmlvjpwucfz.com/]ztmlvjpwucfz[/url], [link=http://qsgfbwuiewbv.com/]qsgfbwuiewbv[/link], http://kswsunemjnvs.com/

shfskejiuqshfskejiuq2012/11/02 23:53AxWUcP <a href="http://vbcntgoaeglm.com/">vbcntgoaeglm</a>

pbasztumsjypbasztumsjy2012/11/03 11:41XP122A , [url=http://hknpcgebdmvq.com/]hknpcgebdmvq[/url], [link=http://tnnoeusdepgf.com/]tnnoeusdepgf[/link], http://tjqusbwcnsli.com/

トラックバック - http://catalyst.g.hatena.ne.jp/dann/20080321